《彭煜玮武汉大学计算机学院2009127讲课资料》由会员分享,可在线阅读,更多相关《彭煜玮武汉大学计算机学院2009127讲课资料(92页珍藏版)》请在金锄头文库上搜索。
1、SQL Server数据库,彭煜玮 武汉大学计算机学院 2009-1-27,学习导读 数据库技术是研究数据管理的技术,即如何妥善地保存和科学地管理数据。数据库技术是发展速度最快,应用最广泛的技术,它作为计算机科学和技术的一个重要分支已成为多种计算机应用系统的核心。数据库技术主要延着数据模型、数据库应用、数据库管理系统开发技术三个方面发展。 本章主要介绍数据管理技术的发展、数据模型、关系运算、关系规范化理论和数据库设计等内容。,第1章 数据库基础知识,2,1.1 信息、数据与数据处理,1.1.1 数据与信息 数据是人类活动的重要资源,数据库系统就是研究如何妥善地保存和科学地管理数据的计算机系统。
2、 现代社会是信息的社会,信息以惊人的速度增长,因此,如何有效地组织和利用它们成为急需解决的问题。数据库系统的目的就是为了高效地管理及共享大量的信息,而信息与数据是分不开的。,数据与信息,信息:是现实世界各种事物的存在特征、运动形态以及不同事物间的相互联系等诸要素在人脑中的抽象反映,是经过加工的数据。例如,气象局每天从各地气象站收集到大量有关气象的图形或文字记录后,对这些记录数据进行综合处理、分析、判断后,就可告知当地温度、湿度、风力、阴晴等信息。信息对决策或行动是有价值的。例如,人们可以根据天气预报安排生产和生活。 数据:是对信息的符号化的表示,是数据库研究和处理的对象。 信息与数据的关系:数
3、据是信息的载体,信息是数据的内涵。即数据是信息的符号表示,而信息通过数据描述,又是数据语义的解释。信息是有一定含义的、经过加工处理的、对决策有价值的数据。,1.2 计算机数据管理的3个阶段,数据管理技术好坏评判的标准: (1)数据冗余 数据冗余-是指同一数据多次存放。 数据冗余带来的问题有: 浪费存储空间 修改麻烦 潜在的数据不一致性 (2)数据共享 数据共享体现在: 多个应用可以使用同一数据、记录、数据项。 在同一时刻多个用户可存取同一数据。,数据管理技术好坏评判的标准,(3)数据独立性 数据独立性是指应用程序和数据之间相互独立,不受影响。即数据结构的修改不引起应用程序修改的特性。 数据独立
4、性包括: 逻辑独立性 物理独立性 (4)数据统一集中管理 提供对数据进行安全性控制、完整性控制、并发性控制等功能。,1.2 计算机数据管理的3个阶段,1.2.1 人工管理阶段 20世纪50年代中期以前,计算机主要用于科学计算,数据量不大,也没有专门的软件对数据进行管理。 1. 人工管理阶段的特点 数据是面向应用的,一组数据对应一个程序,数据冗余大,不能实现数据共享。 数据不保存,数据与程序合在一起,数据独立性差。 没有软件系统对数据管理,只能采用手工方式进行处理。 程序员负担重,他必须自己编程实现数据的存储结构、存取方法和输入输出,迫使程序员直接与物理设备打交道,加大了程序设计难度,编程效率低
5、。,人工管理阶段,2. 人工管理阶段应用程序与数据之间的关系,文件系统阶段,1.2.2 文件系统阶段 20世纪50年代末,计算机不仅用于科学计算,而且大量用于数据管理,同时磁盘、磁鼓等大容量直接存储设备的出现,使存放大量数据成为可能。操作系统中的文件系统就是专门用来管理所存储数据的软件。 1. 文件系统阶段的特点 数据以文件形式组织,可以长期保存在磁盘上。 数据有了逻辑结构和物理结构之分,由“存取方法”实现逻辑结构与物理结构的映射。 数据是面向特定用途设计的,一个文件基本上对应一个应用程序,造成数据冗余大,数据共享性差;文件之间相互独立,数据联系弱。 实现了数据的物理独立性,但未实现数据的逻辑
6、独立性。,文件系统阶段,2. 文件系统阶段应用程序与数据之间的关系,数据库系统阶段,1.2.3 数据库系统阶段 20世纪60年代后期,随着数据管理的规模日趋增大,数据量的急剧增加,文件系统已不能适应需要。为此,人们研制出了一种新的、先进的数据管理方法,即数据库系统。 1. 数据库系统阶段的特点 实现了数据共享。 面向全组织的数据结构化,数据不再面向特定的某个或多个应用,而是面向整个应用系统,减少了数据冗余。 数据独立性高,实现了数据的逻辑独立性和物理独立性。 统一数据控制功能,提供了数据安全性控制、数据完整性控制、并发控制和数据库恢复等数据控制功能。,数据库系统阶段,2. 数据库系统阶段应用程
7、序与数据之间的关系,思考题,问:文件系统中的文件与数据库系统中的文件有何本质的区别? 答:文件系统中的文件是面向应用的,一个文件基本对应一个应用程序,文件之间不存在联系,数据冗余大。数据库系统中的文件是面向整个应用系统,文件之间相互联系,减少了数据冗余,实现了数据共享。,例,例:某系统涉及人事、科研、教学、工资四个部门。假定每个部门只有一种登记表。其结构如下,试建立该系统的数据结构。,人事文件,科研文件,教学文件,工资文件,例,文件系统: 建立与上述结构相同的四个文件。 存在的问题: 数据冗余大。 文件是独立的、分散的,只反映文件本身的结构,而未反映文件间的联系,因而不能进行文件交叉访问。,例
8、,数据库系统:(分三步进行) 第一步:建立全局数据逻辑结构。 数据的组织、存储与应用程序相分离独立进行,全面综合地考虑数据的组织,从整个系统的效率、性能出发来组织数据。 第二步:建立局部数据逻辑结构。 面向各个具体用户,从满足用户的需求出发,从全局数据逻辑结构导出各自所需的基本结构。 第三步:建立数据物理结构。 面向物理存储、在保证全局数据逻辑结构的前提下,权衡系统的空间利用、效率等,按物理存储的最佳形式来组织文件结构。,例,第一层,第二层,第三层,1.3 什么是数据库系统,数据库系统(DBS-Data Base System)是指具有管理数据库功能的计算机系统。它由数据库、用户、软件和硬件四
9、部分组成。 1.3.1 数据库 数据库(DB-Data Base):按一定结构组织存储的、集成的、可共享的数据的集合。这里的结构是指数据库的结构要依据DBMS所支持的数据模型来建立。,数据库系统中的用户,1.3.2 用户 1. 数据库管理员(DBA-Data Base Administrator) DBA是指组织数据库的计划、设计、建立、运行监视、维护以及重开发的全部技术工作的专业人员。 DBA的职责: (1)决定数据库中的信息内容和结构。 (2)决定数据库的存储结构和存储策略。 (3)定义数据的安全性要求和完整性约束条件。 (4)监控数据库的使用和运行。 (5)数据库的重组和重构。 2. 应
10、用程序员 是指负责设计和编制应用程序的人员。 3. 终端用户 是指从计算机终端存取数据库的人员。,1.4 数据库管理系统,DBMS是数据库系统的核心,是为数据库建立、使用和维护而配置的系统软件。它建立在操作系统的基础之上,是位于操作系统与用户之间的一层数据管理软件,负责对数据库进行统一的管理和控制。,DBMS的软件地位:,DBMS的主要功能,1.4.1 DBMS的主要功能 1.数据定义 提供数据定义语言(DDL-Data Definition Language) 定义数据库结构及其相互之间的映象,定义数据的完整性、安全性控制等约束。 2.数据操纵 提供数据操纵语言(DML-Data Manip
11、ulation Language)实现对数据库中数据的检索、插入、删除和修改。 3.数据库运行管理 提供数据安全性控制、并发控制、和数据完整性控制等数据控制功能。 4.数据库的建立和维护 数据库初始数据的装入,数据库的转储、恢复、重组织,系统性能监视、分析等功能。 5.数据通信 实现用户程序与DBMS之间的通信。,DBMS的组成,1.4.2 DBMS的组成 1.语言翻译处理程序 主要包括数据定义语言编译程序、数据操纵语言编译程序、终端命令解释程序、数据库控制命令解释程序等。 2.系统运行控制程序 主要包括系统总控程序、存取控制程序、并发控制程序、完整性控制程序、安全性控制程序、数据存取和更新程
12、序、通信控制程序等。 3.系统建立、维护程序 主要包括数据装入程序、数据库重组程序、数据库恢复程序、性能监督程序等。 4.数据字典 数据字典是对数据库中数据的描述信息的集合。通过数据字典DBMS能快速查询有关对象,DBA能掌握整个系统运行的情况。,数据库系统中的软件和硬件,1.3.3 软件 主要是指数据库管理系统(DBMS-Data Base Management System)。DBMS是位于用户和OS之间的专门用于管理和维护数据库的系统软件,为用户或应用程序提供了访问数据库的方法,包括数据库的建立、查询、更新及各种数据控制功能。 1.3.4 硬件 要求有足够大的内存,以存放OS、DBMS、
13、系统缓冲区、应用程序等;配有高速的、大容量的直接存取的外存;要有较高的通道能力,以提高数据的传输速度。,1.5 数据模型,数据库是一个结构化的数据集合,这个结构要使用数据模型来描述。 数据模型 是表示数据及其联系的模型。 数据模型分类 概念模型(也称语义模型) (常用E-R模型) 结构数据模型(简称数据模型) (层次模型、网状模型、关系模型) 概念模型是按用户的观点来对数据和信息建模,它强调语义表达能力,建模容易、方便、概念简单、清晰,易于用户理解,它是一种独立于计算机系统的模型;结构数据模型是按计算机系统的观点对数据建模,它着重于具体描述数据的数据结构。,思考题,问:能否一步到位,只建立结构
14、数据模型呢? 答:可以,但更多是采用分二步的设计方法。因为建立数据模型不是件简单的事,它既要模拟现实世界,又要考虑数据结构,存取效率等一系列因素,使问题变得复杂,对此,人们通过一个中间步骤,先用E-R模型反映实体及其联系,再从E-R模型出发结合具体数据模型进行转换。,概念模型,1.5.1 概念模型 概念模型是对客观事物及其联系的抽象,用于信息世界的建模。 概念模型的主要概念: 实体-客观存在并可相互区别的事物。 属性-实体所具有的某一特性。 关键字(码,key)- 实体的某一属性或属性组合,其值能惟一标识某一实体。 域-属性的取值范围。 实体型-用实体名及其属性名集合来抽象和刻画的同类实体。
15、例:学生(学号,姓名,性别,班号) 实体集-同一类型的实体集合称为实体集。,实体之间的联系,实体间的联系 一对一联系(1:1) 一对多联系(1:m) 多对多联系(m:n),例: 系 - 系主任 (1:1) 学生 - 座位 (1:1) 班级 - 学生 (1:m) 公司 - 职员 (1:m) 学生 - 课程 (m:n) 运动员 - 项目 (m:n),设实体集: E1 E2,实体联系模型,E-R模型(Entity Relationship),也称为实体联系模型,是概念模型最常用的表示方法。 E-R模型的基本成分: 实体集 用长方形表示 属性 用椭圆表示 联系 用菱形表示,实体联系模型之例,? 总分:
16、 sum ? 成绩: score,注意:联系也有属性。,例:,实体联系模型之例,例:为某百货公司数据库系统设计一个E-R模型。百货公司管辖若干连锁商店,每家商店经营若干商品,每家商店有若干职工,但每个职工只能服务于一家商店。商店的属性有:店号、店名、店址、店经理。商品的属性有:商品号、品名、单价、产地。职工的属性有:工号、姓名、性别、工资。在联系中应反映出职工参加某商店工作的开始时间,商店销售商品的月销售量。 E-R模型设计的一般步骤: 确定实体集 确定实体集之间的联系和联系的类型 确定属性(实体属性、联系属性),实体联系模型之例,常用的数据模型,1.5.2 常用的数据模型 1.关系模型 用二维表格结构来表示实体以及实体之间联系的数据模型。 2.层次模型 用树结构表示实体间联系的数据模型。 层次模型的特征是: 有且仅有一个结点没有父结点,它就是根结点; 其他结点有且仅有一个父结点。 在层次模型中,每个结点描述一个实体型,称为记录型。一个记录型