《第1讲 数据库技术基础准备知识新ppt课件.ppt》由会员分享,可在线阅读,更多相关《第1讲 数据库技术基础准备知识新ppt课件.ppt(94页珍藏版)》请在三一办公上搜索。
1、SQLserver2005数据库应用与开发教程,教材SQL Server 2008数据库技术实用教程,清华大学出版社,高云主编参考书SQL Server 2008数据库应用与开发教程,清华大学出版社,卫琳主编数据库应用技术( SQL Server 2005 ),中国铁道出版社,申时凯 李海雁主编数据库应用技术( SQL Server 2005 ),人民邮电出版社,周慧主编,授课环节 教学:32学时 实验:32学时考核:平时10%,实验20%,期末考试70%答疑 邮箱:,要求掌握数据库的基本理论熟练操纵SQL Server数据库了解相关的数据库开发工具能够开发出一个小型的基于SQL Server
2、的信息管理系统,第一讲 数据库技术基础准备知识,1.1 数据库基础知识1.2 关系数据库1.3 数据库设计,能力目标:认识数据库系统的组成和C/S、B/S结构。认识各种数据库管理系统、开发工具及其特点。明确与数据库技术相关的职业技术岗位。能够根据项目需求分析报告进行数据库的概念模型设计。通过项目需求分析,培养与客户沟通的能力。 任务设计:阅读管理信息系统的项目需求分析报告。根据项目需求分析建立概念(E-R)数据模型。,知识要求:数据管理技术的产生和发展。数据库系统概述。数据库三级模式结构的重要概念。DBMS的主要功能。数据模型概述。数据库概念设计。,为何要学习数据库?,数据库服务器,响应和提供
3、数据,应用程序,数据库,操作和查询,数据库作用:要求:应用程序作用:要求:,数据库能够做什么?,存储数据、检索数据、生成新的数据,统一、安全、性能等,响应操作并显示结果、向数据库请求数据,美观、操作简单方便,存储数据的方法第一种方法:用大脑来记住数据第二种方法:写在纸上第三种方法:写在计算机的内存中第四种方法:写成磁盘文件,存储大量数据,方便检索和访问保持数据信息的一致、完整共享和安全通过组合分析,产生新的有用信息,1.1 数据库基础知识,数据(Data):是信息的载体;是描述事物的符号记录,信息是数据的内容。符号:数字、文字、图形、声音、语音等,在计算机中,为了处理现实世界中的事物,可以抽象
4、出人们感兴趣的事物特征,组成一个记录来描述该事物。,1.1.1 信息、数据与数据管理,P,I,WordExcelPowerPointFrontPagePhotoshopC,VB.NETAccess,VFPSQL Server,文档(.doc)工作簿(.xls)文稿(.ppt)网页(.html)图片(.bmp)数字、文字查询结果或报表,Data,Information,Processing,数据,人:,(李四,男,1988,2008,计算机系),(李四,男,1988,180,75,80,120),数据管理,数据的处理是指对各种数据进行收集、存储、加工和传播的一系列活动的集合。而数据管理是指对数据
5、进行分类、组织、编码、存储、检索和维护等操作。它是数据处理的中心问题。,1.1.2 数据管理技术的发展,数据管理三阶段的比较,数据库的发展史,萌芽阶段文件系统使用磁盘文件来存储数据初级阶段第一代数据库出现了网状模型、层次模型的数据库中级阶段第二代数据库关系型数据库和结构化查询语言高级阶段新一代数据库“关系-对象”型数据库,OracleOracle公司的产品“关系-对象”型数据库产品免费、服务收费SQL Server针对不同用户群体的五个特殊的版本易用性好DB2IBM公司的产品支持多操作系统、多种类型的硬件和设备,时下流行的数据库,1.1.3 数据库、数据库管理系统、 数据库系统,数据库(Dat
6、aBase,简称DB) :长期存放在计算机内的、有组织的、可共享的数据集合。,特点数据库中的数据按一定的数据模型组织、描述和存储较小的冗余度较高的数据独立性和易扩充性为各种用户共享,数据库管理系统,概念数据库中的数据按一定的数据模型组织、描述和存储数据库管理系统(DataBase Management System,简称DBMS)位于用户与操作系统之间的数据管理软件,是帮助用户创建、维护和使用数据库的软件系统。功能:数据定义数据定义语言(Data DefinitionLanguage,DDL)数据操纵数据操纵语言(Data Manipulation Language,DML)数据库的运行与管理
7、,数据库系统,概念数据库系统(DataBase System,简称DBS):计算机系统中引入数据库技术后的系统。组成:数据库数据库管理系统(开发工具)应用系统数据库管理员 (DataBase Administrator,DBA)用户,数据库系统构成,数据库,操作系统,数据库管理员,数据库管理系统,应用开发工具,应用系统,用户,用户,用户,数据库在计算机系统中的地位,1.1.4 数据模型,概念模型是现实世界特征的模拟和抽象。 数据模型(Data Model) 是现实世界数据特征的抽象,是对现实世界的模拟。数据模型应满足三方面的要求:能比较真实地模拟现实世界容易为人所理解便于在计算机世界实现,数据
8、模型可以分为两类:概念模型按用户的观点来对数据和信息进行抽象结构数据模型按计算机系统的观点对数据建模,信息世界的基本概念,(1)实体(Entity):客观存在并且可以相互区别的事物,现实世界中客观存在的、可以被描述事物都是“实体”,信息世界的基本概念,(2)属性(Attribute):实体所具有的某一特性称为实体的属性(3)关键字(Key):唯一标识实体的属性集称为关键字。码(4)域(Domain):属性的取值范围称为该属性的域,信息世界的基本概念,(5)实体型(Entity Type):具有相同属性的实体称为同型实体,用实体名及其属性名的集合来抽象和刻画同类实体,称为实体型。职工(职工编号,
9、姓名,性别,职称,学历,工作时间)(6)实体集(Entity Set):同型实体的集合称为实体集,信息世界的基本概念,(7)联系(Relationship): 实体型内部各属性之间的联系以及实体型之间的联系. 一对一联系(1 : 1) 一对多联系(1 : m) 多对多联系(m : n),概念模型的表示方法,实体-联系方法(Entity-Relationship):该方法用E-R图来描述现实世界的概念模型 实体型:用矩形表示,矩形框内写实体名 属性:用椭圆形表示,框内写属性名,用无向边将属性与实体连起来 联系:用菱形表示,框内写联系名,用无向边与有关实体连接起来,同时在无向边上注明联系类型。联系
10、的属性也要用无向边与联系连接起来。,E-R图举例:,学生选课管理E-R图,性别,常见的数据模型, 层次模型(Hierarchical Model) 网状模型(Network Model) 关系模型(Relational Model) 面向对象模型(Object Oriented Model),关系模型的优点: 建立在严格的数学概念基础上 概念单一 存取路径对用户透明,1层次模型,层次模型(Hierarchical Model)是一种以记录某一事物的类型为根节点的有向树。,优点: 不同层次之间的关联性直接而且简单。缺点: 由于数据纵向发展,横向关系难以建立,数据可能会重复出现,造成管理维护的不便
11、。,网状模型是层次模型的扩展,表示多个从属关系的层次结构,呈现一种交叉关系的网状结构。,2网状模型,特点:可以有多个根记录,一个子记录可以有多个父记录。可以表示横向复杂的联系。,优点: 很容易反映实体之间的关联,同时还避免了数据的重复性;缺点: 关联错综复杂,当数据库逐渐增多时,将很难对结构中的关联性进行维护,尤其是数据库越来越大时。,3关系模型,目前关系模型是最重要的一种数据模型。关系数据系统采用关系模型为数据的组织方式,SQLServer 2005数据库就是基于关系模型建立的。关系模型具有如下优点: 关系模型建立在严格的数学概念基础上。关系模型的概念单一,无论实体还是实体之间的联系都用关系
12、表示,对数据的检索结果也是关系。关系模型的存取路径对用户透明。,1.1.5 数据库系统的体系结构,数据库的三级模式两级映像结构,模式(Schema): 也称逻辑模式,是数据库中全体数据的逻辑结构 和特征的描述 外模式(External Schema): 又称子模式或用户模式, 是模式的子集,是数据的局部逻辑结构,也是数据库用户看到的数据视图 内模式(Internal Schema): 也称存储模式,是数据在数据库中的内部表示,即数据的物理结构和存储方式描述,数据库的三级模式两级映像结构,数据库,内模式,模式,外模式A,外模式B,应用1,应用2,应用3,应用4,应用5,由数据库管理员建立和维护,
13、模式/内模式映像,外模式/模式映像,外模式/模式映像,数据库管理系统,操作系统,数据库的二级映像功能与数据独立性,两级映像:外模式/模式映像存在外模式与模式之间的某种对应关系模式/内模式映像全局逻辑结构与存储结构之间的对应关系,数据的物理独立性和逻辑独立性,1.2 关系数据库,1.2.1 关系模型,1970年由美国IBM公司San Jose研究室的研究员E.F. Codd首次提出了数据库系统的关系模型1981年ACM图灵奖,组成:数据结构、关系操作、关系的完整性,关系模型的基本术语,(1)关系模型(Relational Model): 用二维表格结构来表示实体及实体间联系的模型(2)属性(At
14、tribute)和值域(Domain):在二维表中的列称为属性,列值称为属性值,属性值的取值范围称为值域(3)关系模式(Relational Schema):在二维表格中行的定义(记录的型),关系模型的基本术语,(4)元组(Tuple)与关系:二维表格中的行称为元组,元组的集合称为关系(5)关键字(Key)或码:能够用来唯一标识元组的属性(或属性组合)称为关键字或码。(6)候选关键字或候选码(Candidate Key):如果在一个关系中,存在着多个属性(或属性组合)都能用来唯一标识该关系的元组,这些属性或属性的组合都称为该关系的候选关键字或候选码。主关键字或主码(Primary Key),关
15、系模型的基本术语,(7)主关键字或主码(Primary Key)主属性(Prime Attribute): 包含在任何一个候选码中的属性(8)非主属性或非关键字属性(Non Prime Attribute): 关系中不能组成关键字的属性,关系模型的基本术语,(9)外部关键字或外键(Foreign Key): 当关系中的某个属性或属性组合虽不是该关系的关键字或只是关键字的一部分,但却是另一个关系的关键字时,称该属性或属性组合为这个关系的外部关键字或外键。,两个关系:选课(学号,课程号,成绩)学生(学号,姓名,性别,出生日期),关系模型的基本术语,(10)从表与主表:以某属性为主键的表称为主表,以
16、此属性为外键的表称为从表。,两个表:学生(学号,姓名,性别,出生日期)选课(学号,课程号,成绩),关系模型的数据结构-二维表格,学生表,关系,属性(列),关系名,关系模式,主码,班级管理出色,1,1,司马懿,2,德智体全面发展,1,1,曹操,1,备注,奖惩情况,奖惩类型,姓名,编号,处分,2,奖励,1,奖惩类型,奖惩类型编码,优秀学生干部,2,三好学生,1,班级,奖励情况编码,存在冗余,为减少数据查找的麻烦,允许数据有一定的冗余,数据完整性,班级,张三,高一(二),32, 前进大厦,存在不正确、不准确的数据,数据库“失去了完整性”,数据完整性,关系模型的数据完整性,数据完整性指关系模型中数据的
17、正确性和一致性,实体完整性(Entity Integrity)要求关系中的元组在组成主键的属性列上的值不能为空 参照完整性(Reference Integrity)要求不能在从表中引用主表中不存在的元组 用户自定义完整性(User-defined Integrity) 根据应用领域的需要,由用户定义的约束条件,体现了具体应用领域的语义约束,关系操作,关系操作的基础是关系代数关系代数是一种抽象的查询语言,与具体的DBMS中实现语言并不完全一致,关系操作的特点-集合操作操作的对象和结果都是集合,称为一次一个集合的方式(set-at-a-time)非关系数据模型:一次一记录(record-at-a-
18、time),关系操作,查询操作(query)选择(Select)投影(Project)连接(Join)除(Divide)并(Union)交(Intersection)差(Difference),更新操作(update)增加(Insert)删除(Delete)修改(Update),SQL(Structured Query Language),SQL 是关系数据库的标准语言,它提供了数据定义、数据查询和访问控制功能:,数据定义:定义基本表:CREATE TABLE, DROP TABLE, ALTER TABLE定义视图:CREATE VIEW,DROP VIEW定义索引:CREATE INDEX
19、, DROP INDEX,SQL(Structured Query Language),数据查询功能:SELECT数据更新功能:INSERT, DELETE, UPDATE 访问控制功能:GRANT, REVOKE嵌入式使用方式:,1.2.2 关系数据理论,1971年由E.F. Codd提出了规范化理论关系数据理论就是指导产生一个具体确定的、好的数据库模式的理论体系,针对一个具体的数据库应用问题,应该构造几个关系模式?每个关系由哪些属性组成?即如何构造适合于它的数据模式?,数据库逻辑设计问题,问题的提出:,学生关系:学生(学号,姓名,性别,出生日期,入学时间,系部代码)课程关系:课程(课程号,
20、课程名,学时数,学分)选课关系:选课(学号,课程号,成绩),只有一个关系模式:学生选课 课程(学号,姓名,性别,出生日期,入学时间,系部代码,课程号,课程名,学时数,学分,成绩)有三个关系模式:学生(学号,姓名,性别,出生日期,入学时间,系部代码) 课程(课程号,课程名,学时数,学分)选课(学号,课程号,成绩),第一种设计可能存在的问题:,数据冗余,修改异常,插入异常,删除异常,关系模式的规范化,(1)第一范式 如果关系模式 R 的每一个属性都是不可再分的,则称R为第一范式,记为:,第二范式,(2)第二范式 如果关系模式 R 是第一范式,且每个非主属性都完全函数依赖于关键字,则称 R 为满足第
21、二范式的模式 记为:,选课(学号,课程号,系部代码,出生日期,成绩),第三范式,(3)第三范式 如果关系模式 R 是第二范式,且没有一个非关键字属性是传递函数依赖于候选关键字属性,则称 R 为满足第三范式的模式。记为:,学生(学号,姓名,性别,出生日期,入学时间,系名,系宿舍楼),关系规范化小节,学习内容在数据库系统开发中的位置图,1.3 数据库设计,1.3.1 数据库设计的任务、特点和步骤,(1)数据库设计的任务 针对一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能有效地收集、存储、操作和管理数据,满足用户的各种需求,(2)数据库设计的特点,数据库设计既是一项涉及多学
22、科的综合性技术,又是一项庞大的工程项目。 数据库建设是硬件、软件和技术与管理的界面的结合;整个设计过程要把结构(数据)设计和行为(处理)设计密切结合起来。,(3)数据库设计的步骤,需求分析概念结构设计逻辑结构设计物理结构设计数据库实施数据库运行和维护,数据库设计的基本步骤,概念设计,逻辑设计,物理设计,系统实施,试运行,运行和维护,需求收集和分析,应用需求(数据、处理),转换规则DBMS功能优化方法,DBMS的详细功能书(数据、处理),不满意,不满意,需求分析,概念设计,逻辑设计,物理设计,实施,运行和维护,1.3.2 需求分析的任务,基本任务:准确地回答”系统必须做什么”,分析人员 用户,简
23、单地说:分析用户的要求,确定用户的最终需求是一件很困难的事,可行性研究 需求分析,本阶段结束后得出的文档应该包括:详细的数据流图,数据字典,简明的算法描述,可行性研究阶段产生的文档,特别是数据流图,是需求分析的出发点。数据流图中已经划分出系统必须完成的许多基本功能,需求分析的结果是系统开发的基础,关系到工程的成败和软件产品的质量,需求分析各阶段的具体任务,(2)分析系统的数据要求任何一个软件系统都是一个信息处理系统,系统必须处理的信息和系统应该产生的信息在很大程度上决定了系统的面貌,(1)确定对系统的综合要求系统功能、系统性能、运行要求、将来可能提出的要求,需求分析各阶段的具体任务,(3)导出
24、系统的逻辑模型 综合上述两项的分析结果可导出系统详细的逻辑模型。 通常用数据流图,数据字典和主要的处理算法描述这个模型。,需求分析各阶段的具体任务,(4)修正系统的开发计划 根据在分析过程中获得的对系统的更深入,更具体的了解,可以比较准确地估算出系统开发的进度和成本,修正以前的开发计划。,(5)开发原型系统,需求分析的方法,进行需求分析首先要调查清楚用户的实际要求,与用户达成共识,然后分析与表达这些要求调查用户需求的基本步骤:,(1)调查组织机构情况(2)熟悉业务活动(3)明确用户要求(4)确定系统边界,需求分析中不同的调查方法,(1)跟班作业(2)开调查会(3)请专人介绍(4)询问(5)设计
25、调查表格来让用户填写(6)查阅记录,1.3.3 概念结构设计,将需求分析阶段,简单地说:分析用户的要求,1.3.5 数据库设计案例,以高校学分制选课管理信息系统的数据库设计为例,重点介绍数据库设计中的概念设计与逻辑设计部分。为了便于读者理解,对选课管理信息系统做了一些简化处理。,高校学分制选课管理信息系统要求: 学生根据开课目录填写选课单进行选课;系统根据教学计划检查应修的必修课及其他课程并自动选择;检查是否存在未取得学分的必修课,如果存在,则提示重选;学生按学分制选课规则选修课程;查询学生的各门课程的成绩、学分及绩点。,1选课管理信息系统数据流图选课管理信息系统数据流图如图1-11和图1-1
26、2所示。,学生,学生,学生选课系统,选课单,成绩单,图1 选课管理信息系统的顶层数据流图,学生,学生,学生选课,课程注册,打 印,课程初选表,课程注册表,开课目录,学业成绩库,选课单,图2 选课管理信息系统的第一层数据流图,2选课管理信息系统E-R图(1)设计局部E-R模型。以选课管理信息系统数据流图为依据,设计局部E-R模型的步骤如下: 确定实体类型。选课管理信息系统有三个实体:学生、课程、教师。, 确定联系类型。 学生与课程之间是m:n联系:即一个学生可以选修多门课程,一门课程可以被多个学生选修,定义联系为“学生课程”。 教师与课程之间是m:n联系:即一名教师可以讲授多门课程,一门课程也可
27、以由多名教师讲授,定义联系为“教师课程”。 学生与教师之间是m:n联系:即一名教师可教多个学生,一个学生可以由多个教师来教,定义联系为“学生教师”。学生与教师的联系是通过授课联系起来的。, 确定实体类型的属性:,实体类型“学生”的属性:学号、姓名、性别、出生日期、入学时间、班级、系部。实体类型“课程”的属性:课程号、课程名、学时数、学分。 实体类型“教师”的属性:教师编号、姓名、性别、出生日期、学历、职称、职务。, 确定联系类型。 根据实体类型画出E-R图,如图3所示。,姓名,学号,系部,出生日期,性别,学号,姓名,学历,职务,入学时间,班级,学号,学分,课程号,成绩,学生,课程,教师,选课,
28、任课,授课,学分,教师编号,课程名,课程号,学时数,职称,性别,教师编号,m,n,课程,学分,课程名,课程号,学时数,n,课程号,m,教师编号,出生日期,n,图3 选课管理信息系统局部E-R图,(2)设计全局E-R模型:将所有局部的E-R图集成为全局的E-R模型。全局E-R图中省略了属性。在集成的过程中,要消除属性、结构、命名三类冲突,实现合理的集成。,成绩,学分,课程号,教师编号,教学,教师,课程,学生,学号,图4 选课管理信息系统的全局E-R图,(3)全局E-R模型的优化。分析全局E-R模型,看能否反映和满足用户的功能需求,尽量做到实体的个数尽可能少,实体类型所含属性尽可能少,实体类型间的
29、联系无冗余。,3选课管理信息系统关系模式(1)将选课管理信息系统E-R模型按规则转换成关系模式,得到如下关系模式:一个实体对应一个关系模式:学生(学号,姓名,出生日期,入学时间,班级代码,专业代码,系部代码)课程(课程号,课程名,学分)教师(教师编号,姓名,性别,出生日期,学历,职务,职称,系部代码,专业,备注)联系转换成关系模式:成绩(学号,课程号,教师编号,成绩,学分),(2)模式评价与优化。检查数据库模式是否能满足用户的要求,根据功能需求,合并关系或增加关系、属性并规范化,得到如下关系模式:,学生关系模式:学生(学号,姓名,出生日期,入学时间,班级代码,专业代码,系部代码)系部(系部代码
30、,系部名称,系主任)专业(专业代码,专业名称,系部名称)班级(班级代码,班级名称,专业代码,系部代码,备注),课程关系模式:课程(课程号,课程名,学分)教师关系模式:教师(教师编号,姓名,性别,出生日期,学历,职务,职称,系部代码,专业,备注) 成绩关系模式教学活动相关的内容:教学计划(课程号,专业代码,专业学级,课程类型,开课学期,学分)教师任课(教师编号,课程号,专业学级,专业代码,学年,学期,学生数)课程注册(注册号,学号,课程号,教师编号,专业代码,专业学级,选课类型,学期,学年,成绩,学分),图书借阅系统,根据系统需求分析,得到读者实体,属性有读者编号、姓名、读者类型和已借数量等。图
31、书实体,属性有图书编号、书名、作者、出版社、出版日期和定价等。读者和图书实体之间通过借阅建立联系,并派生出借期和还期属性。假定一位读者可以借阅多本图书,一本图书可以经多位读者借阅,读者和图书之间的借阅联系类型是多对多的。其E-R图如下图 所示。,思考案例:图书管理系统,E-R图,本章内容到此结束,To be continued!,子项目:安装和熟悉数据库,子项目:实现教务管理DB,子项目:实现教务管理表,子项目:实现信息检索,子项目:基于视图和索引,子项目:T-SQL程序设计,子项目:T-SQL程序设计,1、Microsoft SQL Server 2008:技术学习中心http:/ Serv
32、er 2005盛宴系列http:/ 2008完全学习手册 视频教程 http:/ http:/,课后习题,一、选择题1数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是( )。 ADBS包括DB和DBMS BDBMS包括DB和DBS CDB包括DBS和DBMS DDBS就是DB,也就是DBMS,A,2下面列出的数据库管理技术发展的3个阶段中,没有专门的软件对数据进行管理的阶段是()。 I人工管理阶段 II文件系统阶段 III数据库阶段 AI 和 II B只有 II CII 和 III D只有 I,D,3描述数据库全体数据的全局逻辑结构和特性的是( ) 。A模式 B内模式 C外模式 4要保证数据库的数据独立性,需要修改的是( ) 。 A模式与外模式 B模式与内模式 C三级模式之间的两层映射 D三级模式,A,C,5E-R方法的三要素是()。A实体、属性、实体集B实体、键、联系C实体、属性、联系D实体、域、候选区6概念设计的结果是()。A一个与DBMS相关的要领模型B一个与DBMS无关的概念模型C数据库系统的公用视图D数据库系统的数据字典,C,B,7下列四项中,不属于数据库系统特点的是( ) 。 A数据共享 B数据完整性 C数据冗余度高 D数据独立性高,C,