《数据库》教学大纲

课程代码

045100892

课程名称

数据库

英文名称

Database

课程类别

专业基础课

课程性质

必修

学时

总学时:64实验学时:16实习学时:0其他学时:0

学分

3.5

开课学期

第四学期

开课单位

计算机科学与工程学院

适用专业

计算机科学与技术、网络工程、信息安全

授课语言

中文授课

先修课程

计算机组成和体系结构、高级语言程序设计

课程对毕业要求的支撑

本课程对学生达到如下毕业要求有如下贡献:

3.设计/开发解决方案:能够设计针对复杂与计算机相关工程问题的解决方案,设计满足特定需求的系统、单元(部件)或工艺流程,并能够在设计环节中体现创新意识,考虑社会、健康、安全、法律、文化以及环境等因素。

4.研究:能够基于科学原理并采用科学方法对与计算机相关复杂工程问题进行研究,包括设计实验、分析与解释数据、并通过信息综合得到合理有效的结论。

5.使用现代工具:能够针对与计算机相关复杂工程问题,开发、选择与使用恰当的技术、资源、现代工程工具和信息技术工具,包括对复杂工程问题的预测与模拟,并能够理解其局限性。

课程目标


完成课程后,学生将具备以下能力:

1)掌握数据库的基本原理和基本知识,培养学生发现问题、解决问题的基本能力。[3

2)能使用SQL语言进行基本数据操作,学生具有使用和维护一个一般数据库系统的基本能力。[3

3)掌握逻辑数据库设计和物理数据库设计为核心的规范设计方法,具有设计、使用一个一般数据库系统的基本能力, 具备初步开发数据库应用软件的基本能力。[345

课程简介

本课程主要讲述数据库系统的基本原理、实现技术和应用技术,包括关系数据库理论、数据库语言、数据库设计及数据库系统实现等几个方面。通过学习这门课程,达到熟练应用数据库,掌握数据库的内部原理和运行过程,了解数据库技术的最新发展动态的目的。

教学内容与学时分配


(一)绪论          4学时

  1. 数据库系统概述                              1学时

  2. 数据模型                                    1学时

  3. 数据库系统结构                              1学时

  4. 数据库系统的组成                            1学时

教学要求:

1)    掌握课程的主要目的与任务,了解数据库在国民经济中的作用。

2理解数据、数据库、数据库管理系统和数据库系统的概念。

3掌握数据库系统的特点,数据库系统的结构。

4掌握概念模型、数据模型的相关概念,了解常用的数据模型。

(二)关系数据库     5学时

  1. 关系数据结构及形式化定义                  1学时

  2. 关系操作                                  1学时

  3. 关系的完整性                              1学时

  4. 关系代数                                  2学时

教学要求:

1掌握关系、关系模式、关系数据库、关系代数。    

2理解关系的完整性。

(三)关系数据库标准语言SQL     9学时

  1. SQL概述                                0.5学时

  2. 数据定义                                1.5学时

  3. 查询                                     5学时

  4. 数据更新                                 1 学时

  5. 视图                                     1学时

教学要求:

1理解SQL语言的概念、特点、功能和使用方法。

2掌握SQL基本语句的使用。

重点:查询语句的使用,包括连接查询和嵌套查询。

(四)数据库安全性            2学时

  1. 计算机安全性概论                       0.2学时

  2. 数据库安全性控制                        1学时

  3. 视图机制                               0.1学时

  4. 审计                                   0.2学时

  5. 数据加密                               0.2学时

  6. 其他安全性保护                         0.3学时

教学要求:

1理解计算机安全性概念。

2掌握数据库安全性控制。

(五)数据库完整性           2学时

  1. 实体完整性                            0.2学时

  2. 参照完整性                            0.2学时

  3. 用户定义的完整性                      0.2学时

  4. 完整性约束命名子句                    0.2学时

  5. 触发器                                1.2学时

教学要求:

1理解数据库完整性控制的基本概念与方法。

2了解关系数据库中定义完整性约束的方法。

(六)关系数据理论       6学时

  1. 问题的提出                           1学时

  2. 规范化(1BCNF)                   2学时

  3. 数据依赖的公理系统                   2学时

  4. 模式分解                             1学时

教学要求:

  1. 掌握函数依赖、码、范式、2NF3NFBCNF概念与判别。

  2. 了解保持函数依赖并具有无损连接性的3NF模式分解算法。

(七)数据库设计          6学时

  1. 数据库设计概述                      0.25学时

  2. 需求分析                            1学时

  3. 概念结构设计                        1.25学时

  4. 逻辑结构设计                        1.25学时

  5. 数据库的物理设计                    1.25学时

  6. 数据库的实施和维护                  1学时

教学要求:

  1. 理解数据库设计的特点、方法、步骤。

  2. 掌握需求分析、概念结构设计、逻辑结构设计。

(八)数据库编程        4学时

  1. 嵌入SQL                             1学时

  2. 过程化SQL                           0.5学时

  3. 存储过程和函数                       1学时

  4. ODBC编程                           1学时

  5. JDBC编程                            0.5学时

教学要求:

  1. 了解嵌入式SQL和动态SQL技术。

  2. 掌握存储过程和函数

  3. 掌握ODBC编程 。

(九)关系查询处理和查询优化    4学时

  1. 关系数据库系统的查询处理              1学时

  2. 关系数据库系统的查询优化              1学时

  3. 代数优化                              1学时

  4. 物理优化                              1学时

教学要求:

  1. 掌握关系系统查询优化的一般准则。

  2. 了解关系代数等价变换规则。

  3. 了解物理优化的原理和方法

(十)数据库恢复技术        2学时

  1. 事务的基本概念                         0.25学时

  2. 数据库恢复概述                         0.25学时

  3. 故障的种类                             0.25学时

  4. 恢复的实现技术                         0.5学时

  5. 恢复策略                               0. 25学时

  6. 具有检查点的恢复技术                   0.25学时

  7. 数据库镜像                             0.25学时

教学要求:

  1. 掌握事务的基本概念

  2. 理解故障的种类及相应的恢复策略。

(十一)并发控制              4学时

    1. 并发控制概述                            0.25学时

    2. 封锁                                    0.5学时

    3. 封锁协议                                1学时

    4. 活锁和死锁                              0.5学时

    5. 并发调度的可串行性                      1学时

    6. 两段锁协议                              0.5学时

    7. 封锁的粒度                              0.25学时

教学要求:

  1. 掌握封锁、封锁协议、活锁死锁。

掌握并发调度的可串行性。

实验教学(包括实验学时、实习学时、其他)

教学方法

课程教学以课堂教学、课外作业、上机实验、单元测试、课程设计等教学方法等共同实施。

考核方式

本课程注重过程考核,成绩比例为:

平时作业、实验和课堂表现:20%

平时上机测试:30%

期末考试(闭卷):50%

教材及参考书

现用教材:王珊主编,数据库系统概论(第五版),高等教育出版社,2014.9

主要参考资料:

杨冬青主编,数据库系统概念(第六版),机械工业出版社,2012.3

制定人及制定时间

董守玲,2019410


 “Database” Syllabus

Course Code

 045100892

Course Title

Database

Course Category

Disciplinary Basic Course

Course Nature

Compulsory Course

Class Hours

Total Class Hours: 64  Computer-aided Class Hours: 16

Lab Hours: 0  Practice Hours: 0

Credits

3.5

Semester

4

Institute

School of Computer Science and Engineering

ProgramOriented

Computer Science and Technology Full English Creative Class

Teaching Language

English

Prerequisites

None

 Student Outcomes

 (Special Training Ability)

(1) Design / Development Solutions: An ability to design solutions for computer engineering complex problems, to design computer hardware and software systems that meet with specific requirements, and to embody innovation awareness in the design process and take into account social, health, safety, cultural and environmental factors.

(2) Research: An ability to develop computer system-related knowledge and research computer engineering complex issues, to develop the basic capacity of computer systems research & development, systematic cognitive and practice, master the Bottom-up and top-down problem analysis methods.

(3) Applying Modern Tools: An ability to develop, select and use appropriate technologies, resources, modern engineering tools and information technology tools for complex computer engineering issues.

6.Engineering and Society: An ability to conduct a reasonable analysis and evaluation of the impact of the solutions of complex problems in computer engineering practice to the social, health, safety, legal and cultural based on computer engineering related background knowledge, and understand the obligation of taking responsibility.

Course Objectives

(1) Master the basic principles and basic knowledge of database, and lay a solid foundation for training students’ ability of research and practice application. [2,3]

(2) Master the construction and optimization methods of database model, cultivate the basic ability of students to find problems, analyze problems and solve problems. [1,2]

(3) Master the SQL language and database application development, training students’ ability of design and practice application. [1,3]

Course Description

Database technology is one of the fastest and most widely used technology in the development of computer science and technology, and it is the core technology of computer information system and application system. This course systematically introduces and studies the theoretical knowledge and practical techniques of the database, students will fully understand and master the basic principles and concepts of database systems, master the basic skills of database design and application, and the system structure, function components and implementation methods of database management systems. The modules of the course organized as follow: relational model, database language, database design and optimization, data structures in database, algorithms in database, concurrency control, database recovery and database frontier knowledge.

Teaching Content and Class Hours Distribution

. Introduction of the course                         1 class hours

Requirements: master the main purpose and tasks of the course, understand the basic concepts and development history of the database.


. Relational model                                5 class hours

(1) ER diagram

a. Entity                       1 class hours

b. Relationship                  1 class hours

c. Construction of ER diagram     1 class hours

(2) From ER diagram to relational model   2 class hours

 Requirements: master the definition of ER diagram, relational model, entity types and relation types, know how to construct ER diagram and transfer it to relational model.

Key point: construction of ER diagram

Difficulty: the transition to rational model


. Database language                             12 class hours

(1) Relational algebra

a. Projection       1 class hours

b. Selection        1 class hours

c. Union          1 class hours

d. Cross-product    1 class hours

e. Rename         1 class hours

F. Others          1 class hours

(2) SQL language

a. Data definition language     3 class hours

b. Data manipulation language  3 class hours

Requirements: master the relational algebra definition and operations, learn how to use SQL language to create table, query, insert, delete and so on.

Key point: SQL language

Difficulty: computation of relational algebra


. Database design and optimization                   4 class hours

(1) Design and optimization of database table structure

a. Third normal form          1 class hours

b. Boyce Codd normal form    1 class hours

(2) Query optimization        2 class hours

Requirements: master the design idea and ultimate goal of database design, understand the third normal form and Boyce Codd normal form, learn the join methods in query optimization.

Key point: database design idea, join methods

Difficulty: choose of suitable join methods


. Data structures in database                        7 class hours

(1) Indexing     3 class hours

(2) Hashing     2 class hours

(3) B+ tree      2 class hours

 Requirements: Master the storage structure of database in disk and file, the method of indexing, the definition and process of static / Dynamic Hash, grasp the data structure of B+ tree and the related operation process in B+ tree.

Key point: construction of index structure, operations of B+ tree

Difficulty: insert, query and delete operations of B+ tree


. Algorithms in database                           6 class hours

(1) External Sort      2 class hours

(2) Join Algorithm

a. Nested loop join          1 class hours

b. Sort-merge join          1 class hours

c. Index-nested loop join     1 class hours

d. Hash join               1 class hours

 Requirements: Master the definition and time complexity analysis of external sorting algorithms, understand the four join algorithms, can use pseudo code and legend to express the join processes.

Key point: 4 join processes

Difficulty: pseudo code expression of join process


. Concurrency control                             5 class hours      

(1) ACID property   1 class hours

(2) Schedule        2 class hours

(3) Serial Schedule   1 class hours

(4) Locking         1 class hours

    Requirements: master the background and definition of concurrency control mechanism, understand the serial scheduling process, conflict serializability, view serializability and strict two-phase locking.

Key point: serial scheduling process

Difficulty: understand the principle of concurrency control


. Database recovery                               3 class hours

(1) Commit/Abort           1 class hours

(2) Recoverable schedules    1 class hours

(3) Cascading Aborts        1 class hours

 Requirements: master commit/abort commands, learn to read the basic log file content, understand the database recovery process, and learn how to avoid cascading aborts.

Key point: commit/abort commands, read the basic log file content

Difficulty: database recovery process


. Database frontier knowledge                       5 class hours  

(1) Data warehouse   2 class hours

(2) Data mining

a. Association       1 class hours

b. Clustering        1 class hours

c. Classification     1 class hours

 Requirements: Master data warehouse definition and function, understand data mining related algorithms and applications.

Key point: master the basic concepts

Experimental Teaching

. SQL programming                             6 class hours

(1) Create table

(2) Query

(3) Insert

(4) Delete

(5) Update

(6) Join

(7) Others

Requirements: master the relevant SQL statements, learn to create table, query, insert, delete and other database operations according to requirements.

Key point: SQL programming


. Build database application                       10 class hours

 Requirements: master the database technology to develop database application, learn to construct a student management system in groups, focus on the combination of database technology and specific application.

Key point: database application development

Teaching Method

The course teaching is carried out by classroom teaching, homework, comprehensive discussion and computer experiment.

Examination Method

Homework and classroom performance: 10%

Computer experiment: 20%

Final examination: 70%

Teaching Materials and Reference Books

Teaching material:

Silberschatz, Abraham. Database System Concepts. McGraw-Hill, 2010


Reference:

[1] Raghu Ramakrishnan and Johannes Gehrke. Database Management Systems. McGraw-Hill, 2002

[2] Mark L.Gillenson. Fundamentals of Database Management Systems. Wiley, 2004

[3] Han, Jiawei,Kamber, Micheline,Pei, Jian. Data Mining: Concepts and Techniques, 3rd Edition. Morgan Kaufmann, 2011

Prepared by Whom and When

Zhiwen Yu, March 30th 2019


 “Database” Syllabus

Course Code

045100892

Course Title

Database

Course Category

Specialty Basic Courses

Course Nature

Compulsory Course

Class Hours

Total Class Hours: 64  Computer-aided Class Hours: 16

Lab Hours: 0  Practice Hours: 0

Credits

3.5

Semester

4

Institute

School of Computer Science and Engineering

Program Oriented

Computer Science and Technology Full English Creative Class

Teaching Language

English

Prerequisites

None

Student Outcomes (Special Training Ability)

(1) Design / Development Solutions: An ability to design solutions for computer engineering complex problems, to design computer hardware and software systems that meet with specific requirements, and to embody innovation awareness in the design process and take into account social, health, safety, cultural and environmental factors.

(2) Research: An ability to develop computer system-related knowledge and research computer engineering complex issues, to develop the basic capacity of computer systems research & development, systematic cognitive and practice, master the Bottom-up and top-down problem analysis methods.

(3) Applying Modern Tools: An ability to develop, select and use appropriate technologies, resources, modern engineering tools and information technology tools for complex computer engineering issues.

Teaching Objectives

(1) Master the basic principles and basic knowledge of database, and lay a solid foundation for training students’ ability of research and practice application.

(2) Master the construction and optimization methods of database model, cultivate the basic ability of students to find problems, analyze problems and solve problems.

(3) Master the SQL language and database application development, training students’ ability of design and practice application.

Course Description

Database technology is one of the fastest and most widely used technology in the development of computer science and technology, and it is the core technology of computer information system and application system. This course systematically introduces and studies the theoretical knowledge and practical techniques of the database, students will fully understand and master the basic principles and concepts of database systems, master the basic skills of database design and application, and the system structure, function components and implementation methods of database management systems. The modules of the course organized as follow: relational model, database language, database design and optimization, data structures in database, algorithms in database, concurrency control, database recovery and database frontier knowledge.

Instruments and Equipments

This course is designed for database curriculum. The purpose of the course is to hope that students can use the database in practice, require students to use the MySQL database system, and learn to use SQL, and can develop an application system based on the database. In this wat wo can train students Practical ability, innovation ability, development ability and so on. The course has a strong practical, open, necessary, comprehensive, design and exploratory.

Experiment Report

Write experiment reports using South China University of Technology curriculum design common template . After finishing the experiment, write the report according the requirement of guide book.

Assessment

grade=attendance10%+ Performance in class20%+experiment report70%

Teaching Materials and Reference Books

Teaching Materials  provided by myself

Reference Books Silberschatz, Abraham. Database System Concepts. McGraw-Hill, 2010

Prepared by Whom and When

Zhiwen Yu in April 29th 2019

 “Database” Experimental Teaching Arrangements

No.

Experiment Item

Class Hours

Content Summary

Category

Requirements

Number of StudentsEach Group

Instruments, Equipments and Software

1

SQL programming

6

Master the relevant SQL statements, learn to create table, query, insert, delete and other database operations according to requirements.

Design

Compulsory

1

MYSQL

2

Build database application  

10

Master the database technology to develop database application, learn to construct a student management system in groups, focus on the combination of database technology and specific application.

Design

Compulsory

3

MYSQL