发布于:2024-07-04 18:49:52 来源:火狐直播在线看 点击量:14次
7. 主要实践教学环节:上机实践,完成教师布置的上机实践任务及项目开发。
相关专业的学生数据库理论够用便可,重要的是掌握数据库领域内的实践动手能力、分析问题和解决实际问题的能力。因此,本课程应把培养数据库应用与开发人才作为培养目标,比较系统、完整地讲述数据库的基础原理、基本概念和基本技术,适当介绍当今数据库的新技术和新应用,使学生掌握基础理论;而要求学生熟练掌握的是常用数据库管理系统基本操作、SQL语言,数据库应用系统分析、设计、实施和维护,最终掌握解决实际问题的数据库设计思想和养成良好的数据库程序设计习惯,具备用数据库的知识解决实际问题的能力。
使学生掌握数据库系统的基础原理、方法和应用技术,能有效使用现有的数据库管理系统和软件开发工具,掌握数据库结构的设计和数据库应用系统的开发方法。培育学生分析、解决实际问题以及进行数据库应用系统开发的能力。
教学学时分配中,“机动”部分为星号的对应前面的教学基本要求,有些内容可根据学生学习情况选讲或不讲,由学生自学或直接删减。
本书全面讲述了数据库的基础原理和SQL Server 2012的应用,全书以理论够用、实用,实践第一的原则,使读者能快速、轻松地掌握SQL Server数据库技术与应用。第1~4章讲述数据库的基本理论知识,其内容有数据库系统概述、数据模型、关系数据库和数据库设计;第5~14章讲述数据库管理系统SQL Server 2012的应用,其内容有SQL Server 2012基础,数据库的概念和操作,表的操作,数据库查询,T-SQL编程,视图和索引的操作,存储过程和触发器,事务与并发控制,数据库系统的安全性,数据库的备份与还原;第15章介绍了基于的数据库应用系统开发过程。
本书理论和实践相结合,既阐述了数据库的基本理论,又结合了SQL Server 2012数据库管理系统的应用,内容翔实,实例丰富,图文并茂,体系完整,通俗易懂,有助于读者理解数据库的基本概念,掌握要点和攻克难点;为便于学习,每章还配有丰富的习题。
本章主要介绍数据库技术的发展历史、数据库系统的组成和功能、数据库的体系结构、信息的三种世界、概念模型和E-R图的画法、最常见的三种数据模型。这一些内容可为学生学习数据库设计和操作知识以及进行数据库系统开发提供必要的理论基础。学好这一些内容将使学生初步掌握数据库的基本概念和基本结构,了解数据库从现实世界到机器世界的模型演变,培育学生具有一定的数据库设计能力——E-R模型的设计。
学习这一些内容需要综合应用很多先修课程的知识,如离散数学、高级语言程序设计、数据结构、操作系统、面向对象软件开发等。在学习时应重视理论联系实际,能运用本课程所学的知识解决一些数据库模型的设计问题。
教学中注重理论联系实际,结合学生所了解的软件开发等知识,使学生易于理解和掌握数据库基本概念和理论;利用学生比较熟悉的实例,分步骤讲解E-R模型的设计,为学习完整的数据库设计过程打下基础。
1.讨论主题:请学生列举一些现实世界中实体间的联系,以巩固概念模型中几个重要概念的理解。
2.课后习题中的概念等理论问题由学生自行完成,以巩固课堂内容;11和12E-R模型设计题为必做题,要求学生交作业,由老师进行批改和讲解,以培育学生的数据库设计能力。
本章首先介绍关系数据库的基本概念,围绕关系数据模型的三要素展开,利用集合、代数等抽象的数学知识,深刻而透彻地介绍关系数据结构、关系数据库操作及关系数据库完整性等内容;然后讲述函数依赖的概念及分类、常见的几种范式、关系规范化理论及方法。
这一些内容可为学生学习关系数据库规范化设计和操作知识以及进行数据库系统开发提供必要的理论和操作基础。学好这些内容将使学生初步掌握关系数据库的基本概念和基本操作,掌握关系数据库的规范化设计理论和方法,初步培育学生对表中数据间关系的理解能力,培育学生具有一定的关系数据库设计和操作能力,包括完整性设计和规范化设计以及关系代数形式的数据库操作。
学习这一些内容需要综合应用很多先修课程的知识,如基础数学、离散数学、高级语言程序设计、数据结构、面向对象软件开发等。在学习时应重视理论联系实际,能运用本课程所学的知识解决一些数据库设计和操作问题。
4.关系模式规范化设计中对每个范式的理解;从低级范式到高级范式的规范化过程中“最小函数依赖集”的运用和各种概念的运用,以及规范化设计步骤的合理安排。
教学中对学生难理解的关系数学定义的讲解要对PPT有一个合理的安排,注重理论联系实际,利用学生比较熟悉的实例,对关系数据库中的基本概念和理论进行讲解;在关系运算和关系模式的规范化设计的讲解中要注重学生的参与和互动,为学习完整的数据库设计过程和数据库操作打下基础。
1.讨论主题:请学生列举一些关系运算操作的实例,以加深对关系数据库操作的理解。
2.课后习题中的概念等理论问题由学生自行完成,以巩固课堂内容;8、9、10和11关系数据库操作和规范化设计题为必做题,要求学生交作业,由老师进行批改和讲解,以培育学生的数据库操作和设计能力。
本章主要介绍数据库设计过程中的需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、运行和维护等内容;以及两个数据库设计实例。这一些内容可为学生进行数据库系统开发提供必要的设计和理论基础。学好这一些内容将使学生初步掌握数据库的完整设计过程,掌握数据库的设计理论和方法,培育学生数据库设计和开发能力。
学习这一些内容需要综合应用很多先修课程的知识,如高级语言程序设计、数据结构、软面向对象件开发等。在学习时应重视理论联系实际,能运用本课程所学的知识解决数据库设计和开发问题。
3. 在进行逻辑结构设计时,将E-R图转化为关系数据模型中联系的转换,必须对转换规则理解到位并合理的运用,才能得到正确的数据库逻辑结构。
本章须给每位学生布置必做的数据库设计系列题,以使学生能够结合所学内容开始数据库设计,为学完课程后的数据库系统开发做好铺垫。
教学中注重理论联系实际,利用学生比较熟悉的实例,对数据库设计中的基本概念、步骤、方法理论和规则进行讲解;在两个数据库设计实例的讲解中要注重学生的参与和互动,为完成的数据库设计任务打下基础。
课后习题中的概念等理论问题由学生自行完成,以巩固课堂内容;7、8、9、10和11为必做题,要求学生交作业,由老师进行批改和讲解,以培育学生的数据库设计和开发能力。
基本要求:理论课时1学时,使学生了解SQL Server 2008软件的基本操作
本章主要介绍SQL Server 2008的发展史、新增功能;SQL Server 2008安装的软、硬件需求及安装过程;SQLServer 2008的主要组件及其初步使用以及T-SQL语言基础知识。学好这一些内容将使学生掌握数据库管理系统SQL Server软件的安装和初步应用,为数据库软件开发做好铺垫,初步培育学生的软件应用和开发能力。
学习这一些内容需要综合应用很多先修课程的知识,如高级语言程序设计、面向对象软件开发等。在学习时应重视对数据库软件动手能力的培养和对数据库语言学习能力的培养。
3. T-SQL语言的分类和基本语法是学习数据库开发的基础,需要透彻的理解和掌握。
本章须给每位学生布置安装SQL Server 2008的任务,这是学生实施数据库开发的基础,为今后数据库系统开发的学习和实践做好铺垫。
教学中如果有条件的话需要对SQL Server 2008的安装过程进行演示或者让学生利用上机实践课的时间在自己的电脑上来安装,由教师进行辅导;对主要管理工具的使用要进行演示和讲解;利用实例对T-SQL语言做必要的讲解,为完成的数据库开发任务打下基础。
课后习题中的概念等理论问题由学生自行完成,以巩固课堂内容;操作类题目为必做题,要求学生在上机实践课的时间内完成,由老师进行辅导,以培育学生的软件应用能力。
2. 掌握界面形式下数据库的操作方法和T-SQL语言数据库基本操作代码的使用。
本章首先介绍数据库的基本概念,然后以实例的形式介绍数据库的创建、修改和删除操作。学好这一些内容将使学生掌握数据库开发的初步实施,为数据库软件开发打好基础,初步培育学生的软件开发能力。
学习这一些内容需要综合应用很多先修课程的知识,如高级语言程序设计、面向对象软件开发等。在学习时应重视对数据库软件动手能力的培养和对T-SQL语言学习和理解能力的培养。
本章须给每位学生布置数据库开发任务,这是学生实施数据库开发的开始,为今后数据库系统开发的进一步学习和实践打好基础。
教学中要利用实例对界面形式下数据库的基本操作的流程进行演示,以数据库系统开发实例的形式利用PPT和SQL Server 2008软件对T-SQL语言数据库基本操作代码进行讲解和演示,注重学生的参与和互动,为完成数据库开发任务打下基础。
课后习题中的概念等理论问题由学生自行完成,以巩固课堂内容;操作类题目为必做题,要求学生在上机实践课的时间内完成,由老师进行辅导,以培育学生的软件应用和数据库开发能力。
本章将以在“教学库”数据库中表的操作为例,介绍表的基本操作,包括表的创建、修改和删除操作,表中数据的插入、修改、删除操作以及数据库表中数据的导入/导出等内容。学好这一些内容将使学生掌握数据库开发中表和数据的实施,为数据库进一步开发打好基础,初步培育学生的软件开发能力。
学习这一些内容需要综合应用很多先修课程的知识,如高级语言程序设计、面向对象软件开发等。在学习时应重视对表中数据间关系的理解能力的培养、对数据库软件动手能力的培养和对T-SQL语言学习和理解能力的培养。
本章须给每位学生布置接上一章继续完成数据库开发任务,这是学生实施数据库开发的继续,为今后数据库系统开发的进一步学习和实践打好基础。
教学中要利用实例对界面形式下表的基本操作的流程、数据操作和数据的导入导出进行演示,以数据库系统开发实例的形式利用PPT和SQL Server 2008软件对T-SQL语言表的基本操作、完整性约束和数据操作代码进行讲解和演示,注重学生的参与和互动,为完成数据库开发任务打下基础。
课后习题全部为必做题,要求学生在上机实践课的时间内完成,由老师进行辅导,以培育学生的软件应用和数据库开发能力。
本章主要介绍数据库的基本查询,包括简单查询、分组查询、数据汇总、子查询、连接查询等内容。查询设计是数据库应用程序开发的重要组成部分,因为在设计数据库并用数据来进行填充后,一定要通过查询来使用数据。使用查询可根据不同的方式查看、更改和分析数据。所以,学好这一些内容将使学生掌握数据库开发中最重要的数据库操作,培育学生的软件开发能力。
学习这一些内容需要综合应用很多先修课程的知识,如高级语言程序设计、面向对象软件开发等。在学习时应重视对数据库软件动手能力的培养和对T-SQL语言学习、理解和应用能力的培养。
本章须给每位学生布置接上一章继续完成数据库开发任务,这是学生实施数据库开发的继续,为今后数据库系统开发的进一步学习和实践打好基础。
教学中要利用实例对数据库的查询语句进行讲解和操作演示,引导和培育学生对数据库表中数据逻辑关系的空间想象力,来提升学生查询语句的应用能力,注重学生的参与和互动,为完成数据库开发任务打下基础。
课后习题全部为必做题,要求学生在上机实践课的时间内完成,由老师进行辅导,以培育学生的软件应用和数据库开发能力。
2. 掌握创建视图和索引时要注意的问题,以及视图和索引的创建、修改、删除等操作方法;
本章主要介绍视图的基本概念,视图的创建、修改和删除,利用视图实现对基本表中数据的操作;索引的基本概念,索引的分类和创建、修改和删除索引等操作。根据各个用户的需求重新定义表的数据结构、简化用户编程,这是视图;节省查找时间、提高查找效率,这是索引。所以,学好这一些内容将使学生掌握提高数据库开发和执行效率的编程方法,使得学生的软件开发迈上一个新台阶。
学习这一些内容需要综合应用很多先修课程的知识,如高级语言程序设计、面向对象软件开发等。在学习时应重视对数据库体系结构的理解和软件动手能力的培养以及对T-SQL语言学习、理解和应用能力的培养。
2.如果想在数据库操作中正确的使用视图,必须首先将视图和基本表的区别和联系理解透彻。
本章须给每位学生布置接上一章继续完成数据库开发任务,这是学生实施数据库开发的继续,为今后数据库系统开发的进一步学习和实践打好基础。
因为视图和索引基本概念比较抽象、难理解,所以教学中要利用实例进行形象化的讲解,对视图和索引的操作语句同样需要实例进行讲解和操作演示,注重学生的参与和互动,为完成数据库开发任务打下基础。
课后习题中的概念等理论问题由学生自行完成,以巩固课堂内容;操作题为必做题,要求学生在上机实践课的时间内完成,由老师进行辅导,以培育学生的软件应用和数据库开发能力。
基本要求:理论课时3学时,使学生掌握数据库编程基础知识,函数的应用以及流程控制语句
本章首先介绍T-SQL语言编程用到的基础知识,如:标识符、变量、运算符、表达式、批处理、注释等内容,然后介绍T-SQL中的流程控制语句,最后介绍T-SQL编程中函数和游标的应用。在数据库应用程序开发中,T-SQL编程起着很重要的作用,学好这一些内容将使学生掌握数据库开发中数据库基本编程和函数、游标的应用,使得学生的软件开发能力不断向高层次迈进。
学习这一些内容需要综合应用很多先修课程的知识,如高级语言程序设计、面向对象软件开发等。在学习时应重视对数据库软件动手能力的培养和对T-SQL语言学习、理解和应用能力的培养。
本章须给每位学生布置接上一章继续完成数据库开发任务,这是学生实施数据库开发的继续,为今后数据库系统开发的进一步学习和实践打好基础。
教学中要利用实例对T-SQL编程用到的基础知识和流程控制语句进行讲解和操作演示,对T-SQL编程中自定义函数分别在服务器端和客户端的编程要讲解清楚,注重学生的参与和互动,为完成数据库开发任务打下基础。
课后习题中的概念等理论问题由学生自行完成,以巩固课堂内容;操作题为必做题,要求学生在上机实践课的时间内完成,由老师进行辅导,以培育学生的软件应用和数据库开发能力。
3. 掌握创建触发器时要注意的问题,以及触发器的创建、修改、删除等操作方法。
本章主要介绍存储过程的基本概念,存储过程的创建、修改、调用和删除操作;触发器的基本概念,触发器的分类,触发器的创建、修改和删除,以及触发器的应用。存储过程可以使用户对数据库的管理工作变得更容易;触发器在保持数据库的数据完整性起着巨大的作用。所以,学好这一些内容可以使学生掌握高级数据库编程方法,提高学生的软件开发层次和水平。
学习这一些内容需要综合应用很多先修课程的知识,如高级语言程序设计、面向对象软件开发等。在学习时应重视对数据库服务器端管理的理解和培养、对软件动手能力的培养以及对T-SQL语言学习、理解和应用能力的培养。
1. 如果想在数据库服务器端创建合适的存储过程,必须深刻理解存储过程的概念和优点。
3. 如果想在数据库服务器端创建合适的触发器,必须深刻理解触发器基本概念、掌握触发器能轻松实现的操作。
本章须给每位学生布置接上一章继续完成数据库开发任务,这是学生实施数据库开发的继续,为今后数据库系统开发的进一步学习和实践打好基础。
教学中要利用实例对存储过程和触发器的操作语句进行讲解和操作演示,对存储过程和触发器在服务器端和客户端的不同操作的意义进行细致、透彻的讲解,注重学生的参与和互动,为完成数据库开发任务打下基础。
课后习题中的概念等理论问题由学生自行完成,以巩固课堂内容;操作题为必做题,要求学生在上机实践课的时间内完成,由老师进行辅导,以培育学生的软件应用和数据库开发能力。
本章主要介绍SQL Server 2008数据库系统的事务和锁的基本概念,事务、锁的分类和使用,以及通过锁的机制实现事务的并发控制。当用户对数据库并发访问时,为了确认和保证事务完整性和数据库一致性,需要用锁定。所以,学好这一些内容可以使学生掌握高级数据库编程中的并发控制机制,确保所开发的数据库系统中数据库的完整性和一致性,提高学生的软件开发水平。
学习这一些内容需要综合应用很多先修课程的知识,如高级语言程序设计、面向对象软件开发等。在学习时应重视对事务编程的理解和应用能力的培养。
教学中要利用实例对事务的操作语句进行讲解和操作演示,对事务的概念要进行细致、透彻的讲解;结合并发操作带来的问题和手工加锁操作对锁的概念等内容做透彻的讲解;注重学生的参与和互动,为完成数据库开发任务打下基础。
课后习题中的概念等理论问题由学生自行完成,以巩固课堂内容;操作题为必做题,要求学生在上机实践课的时间内完成,由老师进行辅导,以培育学生的软件应用和数据库开发能力。
1.理解SQLServer身份验证模式的概念和优点, 学会身份验证模式的设置;
本章首先介绍两种数据库身份验证模式及其设置,服务器登录账号的创建方法,数据库用户的创建方法和角色和权限设置、管理和使用等。对于系统管理员、数据库编程人员,甚至对于每个用户来说,数据库系统的安全性都是至关重要的。所以,学好这一些内容可以使学生掌握高级数据库编程中安全管理的方法,确保所开发的数据库系统中数据库的安全性,提高学生的软件开发水平。
学习这一些内容需要综合应用很多先修课程的知识,如高级语言程序设计、面向对象软件开发等。在学习时应重视对数据库安全性的理解和T-SQL语言中角色和权限设置的学习、理解和应用能力的培养。
教学中要利用实例对SQLServer身份验证模式、角色和权限进行透彻的讲解和操作演示;注重学生的参与和互动,为完成数据库开发任务打下基础。
课后习题中的概念等理论问题由学生自行完成,以巩固课堂内容;操作题为必做题,要求学生在上机实践课的时间内完成,由老师进行辅导,以培育学生的软件应用和数据库开发能力。
本章主要介绍数据库备份和还原的概念及其重要性,SQLServer 2008对数据库进行备份和还原操作的方法,并粗略地介绍数据库的分离和附加方法。避免数据丢失是数据库管理员需要面对的最关键的问题之一。SQL Server 2008制定了良好的备份还原策略,定期将数据库进行备份,以便在事故发生后还原数据库。所以,学好这一些内容可以使学生掌握高级数据库编程中备份、还原管理的方法,确保所开发的数据库系统中数据库的安全,提高学生的软件开发水平。
学习这一些内容需要综合应用很多先修课程的知识,如高级语言程序设计、面向对象软件开发等。在学习时应重视对数据库备份还原策略的理解和备份、还原操作的理解和应用能力的培养。
教学中要利用实例对备份和还原的概念和策略等内容做透彻的讲解,对数据库备份和还原、分离和附加的操作进行演示;注重学生的参与和互动,为完成数据库开发任务打下基础。
课后习题中的概念等理论问题由学生自行完成,以巩固课堂内容;操作题为必做题,要求学生在上机实践课的时间内完成,由老师进行辅导,以培育学生的软件应用和数据库开发能力。
1.巩固面向对象软件开发知识,掌握c#语言及ADO.NET访问数据库的方法和语句;
本章首先介绍C#语言及ASP.NET中的访问数据库组件ADO.NET,然后介绍一个基于C#.NET的数据库系统开发实例“教学管理系统”。本章内容是对本门课所学内容总结和应用,学好这一些内容可以使学生利用前面所学知识掌握完整的数据库开发过程,实现完整的数据库应用系统的设计和开发。
学习这一些内容需要综合应用很多先修课程的知识,如高级语言程序设计、面向对象软件开发等。在学习时应重视对c#.NET和T-SQL语言相结合进行数据库开发的理解和应用能力的培养。
教学中利用一个完整的开发实例“教学管理系统”,对完整的数据库设计过程进行透彻的讲解,并对系统实现的编程和设计做必要的讲解和演示;注重学生的参与和互动,以便最终完成自己的数据库开发任务。
课后习题中的概念等理论问题由学生自行完成,以巩固课堂内容;从一开始给每一个学生布置的数据库开发任务到了收尾阶段,学生可以在上机课上或课下通过其他方式与老师沟通,期末上交完整的数据库应用系统开发软件。
数据库——通俗地讲就是存放数据的仓库。而数据库技术所研究的问题是如何科学地组织和存储数据,如何高效地获取和处理数据,是当代计算机科学的重要组成部分。
本章主要介绍数据库技术的发展历史、数据库系统的基本概念、组成和功能和数据库的体系结构三个问题。
从20世纪60年代末开始到现在,数据库技术己经发展了40多年。在这40多年的历程中,人们在数据库技术的理论研究和系统开发上取得了辉煌的成就,数据库系统己经成为现代计算机系统的重要组成部分。
信息是对各种事物的存在方式、运动状态和相互联系特征的一种表达和陈述,是自然界、人类社会和人类思维活动都会存在的一切物质和事物的属性,它存在于人们的周围。
数据是描述事物的符号记录,是信息的载体,是信息的具体表现形式。除了常用的数字数据外,文字(如名称)、图形、图像、声音等信息,也都是数据。
通俗地讲,信息是从数据中提炼出来的有用(有一定意义)的数据。但实际应用中,二者经常混用。
数据处理是指将数据转换成信息的过程,也称信息处理,如对数据的分类、组织、编码、存储、查询、维护、加工、计算、传播以及打印等一系列的活动。
随着计算机硬件和软件的发展,计算机在数据处理方面应用愈来愈普遍,数据库技术也不断地发展。
20世纪50年代中期以前属于人工管理阶段,它是数据管理的初级阶段。这一阶段的计算机大多数都用在科学计算。
(4)数据和应用程序一一对应,应用程序依赖于数据的物理组织,因此数据的独立性差。
程序与数据是一个整体,一个程序中的数据无法被其他程序使用,因此程序与程序之间有大量的重复数据。
20世纪50年代后期至60年代中后期,计算机的应用场景范围逐步扩大,不仅用于科学计算,还大量用于管理。硬件方面,磁盘成为计算机的主要外存储器;软件方面,出现了高级语言和操作系统。程序通过数据文件访问数据。
20世纪60年代后期以来,计算机应用愈来愈普遍,数据量飞速增加,数据的共享要求慢慢的升高。硬件方面,有了大容量的磁盘;软件方面,出现了能够统一管理和共享数据的数据库管理系统(DBMS)。所以,此阶段将数据集中存储在一台计算机上(数据库中),进行统一组织和管理
数据库指长期存储在计算机内有组织的、可共享的数据集合,即在计算机系统中按一定的数据模型组织、存储和使用的相关联的数据集合。
数据库中的数据由数据库管理系统来进行统一管理和控制,用户对数据库进行的各种数据操作都是通过数据库管理系统实现的。
数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统、数据库开发工具、数据库应用系统、数据库管理员和用户构成。
数据库就是存放数据的仓库,是将数据按一定的数据模型组织、描述和存储,能自动进行查询和修改的数据集合。它不仅包括描述事物的数据本身,还包括相关事物之间的联系。
数据库管理系统是数据库系统的核心,是为数据库的建立、使用和维护而配置的软件。它建立在操作系统的基础上,位于用户与操作系统之间的一层数据管理软件,它为用户或应用程序提供访问数据库的方法,包括数据库的创建、查询、更新及各种数据控制等。
数据库管理系统是数据库系统的核心软件,一般说来,其功能最重要的包含以下4个方面。
DBMS提供数据定义语言DDL对数据库中的对象进行定义和数据操纵语言DML检索、插入、修改、删除数据库中的数据。
(2)数据库运行控制功能:对数据库进行并发控制、安全性检查、完整性约束条件的检查和执行、数据库的内部维护等。
DBMS确定以何种文件结构和存取方式物理地组织数据,怎么来实现数据之间的联系,以便于提高存储空间利用率和各种操作的时间效率。
初始数据的输入与数据转换,数据库的转储与恢复、数据库的重组织与重构造、性能的监视与分析等。
数据库应用系统的应用十分普遍,它能够适用于事务管理、计算机辅助设计、计算机图形分析和处理以及人工智能等系统中。
(1)终端用户:终端用户是数据库的使用者,通过应用程序与数据库进行交互。
(2)应用程序员:应用程序员负责分析、设计、开发、维护数据库系统中各类应用程序,数据库系统通常要一个以上的应用程序员在开发周期内完成数据库结构设计、应用程序开发等任务。
数据库管理员是高级用户,其职能是管理、监督、维护数据库系统的正常运行,负责全面管理和控制数据库系统。职责:设计数据库的结构和内容,定义数据库的安全性和完整性,监督数据库的运行等等。
为了保障数据与程序之间的独立性,使用户能以简单的逻辑结构操作数据而无需考虑数据的物理结构,简化应用程序的编制和程序员的负担,增强系统的可靠性。
(1)模式模式也称概念模式或逻辑模式,是对数据库中全部数据的逻辑结构和特征的描述,是全用户的公共数据视图。
如果在一个关系中,存在多个属性(或属性组合)都能用来唯一标识该关系中的元组,这些属性(或属性组合)都称为该关系的候选关键字或候选码,候选码可以有多个。
8)主键或主码在一个关系的若干候选关键字中,被指定作为关键字的候选关键字称为该关系的主键或主码(Primary Key),一般,我们习惯选择号码作为一个关系的主码。9)主属性和非主属性在一个关系中,包含在任何候选码中的各个属性称为主属性;不包含在任一候选码中的属性称为非主属性。例如,16页表1-1:职工信息表中的职工号和姓名是主属性,而性别、年龄和工资是非主属性。10)外键或外码一个关系的某个属性(或属性组合)不是该关系的主码或只是主码的一部分,却是另一个关系的主码,则称这样的属性为该关系的外键或外码(Foreign Key)。外码是表与表联系的纽带。
清楚关系模型的三要素、理解关系的性质、理解关系的实体完整性和参照完整性规则、掌握专门的关系运算。
本章介绍三个问题:关系数据结构、关系数据库完整性、关系运算:关系数据库操作
关系模型的数据结构格外的简单,现实世界的实体以及实体间的各种联系均用关系来表示。在用户看来,关系模型中数据的逻辑结构就是一张二维表。
关系就是一张二维表,但并不是任何二维表都叫关系,咱们不可以把日常生活中所用的任何表格都当成一个关系直接存放到数据库里。
)在同一个关系中,不同的列的数据可以同一种数据类型,但各属性名必须是互不相同。
)关系中的每个属性必须是单值,即不可再分,这就要求关系的结构不能嵌套。这是关系应满足的最基本的条件。
它是通过关系当中的冗余属性(一般是主码和外码的关系)来实现实体之间的联系。
因此关系模式必须指出这个元组集合的结构,即它由哪些属性构成,这些属性来自哪些域。
关系模式是静态的、稳定的,而关系是动态的、随时间一直在变化的,因为关系操作在不断地更新着数据库中的数据。
例如学生表中的学号属性不能为空。选修关系的主码为学号和课程号都不允许为空。
“系别号”属性是学生关系的外码,是系别关系的主码。系别关系是被参照关系,学生关系为参照关系。
所以,学生关系中的每个元组的“系别号”属性只能取下面两类值:空值或系别关系中已经存在的值。
用户定义的完整性规则由用户根据真实的情况对数据库中数据的内容做的规定,也称为域完整性规则
通过这些规则限制数据库只接受符合完整性约束条件的数据值,不接受违反约束条件的数据,来保证数据库的中数据的有效性与可靠性。
关系代数是以关系为运算对象的一组高级运算的集合;关系代数是一种抽象的查询语言,是关系数据操纵语言的一种传统表达方式。(数学方式的查询过程)
在两类集合运算中,除运算本身的运算符外(如并运算为∪),还将用到两类辅助操作符:
投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组,因为取消了某些属性列后,就也许会出现重复行,应取消这些完全相同的行。
是相同的属性组,就可以在结果中把重复的属性去掉。这种去掉了重复属性的等值连接称为自然连接。
深刻理解几个概念:函数依赖、部分函数依赖、完全函数依赖、传递函数依赖、范式、2NF、3NF。掌握关系模式规范化的目的、方法和步骤。
实体的联系有两类,一类是实体与实体之间的联系;另一类是实体内部各属性间的联系。
关系模式中各个属性之间的相互关联,就是数据依赖,它是规范化理论中一个最重要最基本的概念,是数据库模式设计的关键。
所谓函数依赖是指在关系R中,X、Y为R的两个属性或属性组,如果对于R的所有关系r都存在:对于X的每一个具体值,Y都只有一个具体值与之对应,则称属性Y函数依赖于属性X。记作X→Y。
如果X→Y,并且对于X的任何一个真子集Z,Z→Y都不成立,则称Y完全函数依赖于X。
若X→Y,但对于X的某一个真子集Z,有Z→Y成立,则称Y部分函数依赖于X。
设关系模式R(U),X⊆U,Y⊆U,Z⊆U。如果X→Y,Y→Z成立,则称X→Z为传递函数依赖。
候选码:设K为关系模式R(U)中的属性或属性集合。若K→U,则K称为R的一个候选码。若关系模式R有多个候选码,则选定其中一个作为主码。
例:如果一个系刚成立,尚无学生,我们就无法把这个系及其系主任的信息存入数据库。
例:如果某个系的学生全部毕业了,我们在删除该系学生信息的同时,把这个系及其系主任的信息也删掉了。
关系模式规范化的目的是解决关系模式中存在的数据冗余、插入和删除异常以及更新异常等问题。
关系数据库中的关系一定要满足一定的规范化要求,对于不同的规范化程度可用范式来衡量。
范式(Normal Form)是符合某一种级别的关系模式的集合,是衡量关系模式规范化程度的标准,达到的关系才是规范化的。
目前主要有6种范式:第一范式、第二范式、第三范式、BC范式、第四范式和第五范式。
在第一范式基础上进一步满足一些要求的为第二范式,简称为2NF。其余以此类推。
一个低一级范式的关系模式,通过模式分解能转换为若干个高一级范式的关系模式的集合,这样的一个过程称为规范化。*通常实际应用中,规范化到3NF就可以了。
定义:设R是一个关系模式。如果R的每个属性的值域都是不可分的简单数据项(原子)的集合,则称这个关系模式属于第一范式,简记作R∈1NF。
1NF是规范化最低的范式,在任何一个关系数据库系统中,关系至少应该是第一范式。不满足第一范式的数据库模式不能称为关系数据库。
定义:如果关系模式R是第一范式,且每个非主属性都完全函数依赖于码,则称R为满足第二范式的模式,记为:R∈2NF。
在一个关系中,包含在任何候选码中的各个属性都称为主属性;不包含在任何候选码中的属性称为非主属性。
S1(学号,姓名,性别)S2(学号,课程,学分)S1∈2NF;S2∈2NF。
其中,主码为(职工号,项目号),非主属性为(姓名,职称,项目名称,项目排名)关系P中存在的最小函数依赖集:
职工号→姓名;(职工号,项目号)→项目排名;职工号→职称;项目号→项目名称。
定义:如果关系模式R是第二范式,且没有一个非主属性是传递函数依赖于码,则称R为满足第三范式的模式,记为:R∈3NF。
推论1:如果关系模式R∈1NF,且它的每一个非主属性既不部分依赖、也不传递依赖于码,则R∈3NF。
(1)对1NF关系进行投影,消除原关系中非主属性对码的部分函数依赖,将1NF关系转换成为若干个2NF关系。
(2)对2NF关系进行投影,消除原关系中非主属性对码的传递函数依赖,由此产生一组3NF。
例:有一个学生关系,学生(学号,姓名,系名,系主任,课程号,课程名,成绩)
学号-姓名,学号-系名,系名-系主任,课程号-课程名,(学号,课程号)-成绩
每个属性都不可再分,但存在非主属性对主码的部分函数依赖,所以学生关系最高只达到第一范式。返回搜狐,查看更加多