项目1数据库的基本知识第1章数据库的基本知识第2章SQLServer服务器的安装与配置第3章T-SQL语言基础数据库管理与应用SQLServer第1章数据库的基本知识数据库管理与应用SQLServer数据库管理与应用SQLServerPreface前言-ToBeAKingWhohavethedata,whowillbetheking.谁掌握了数据,谁就能成为信息时代的国王。哪里没有数据?数据库应用在各行各业:金融、客户管理、客户信息证券、商店、电费、水费、甚至学费、伙食费!大学生零用钱开支记录化学实验数据作品信息、作品的价格我的钱包,零用钱开支……数据库管理与应用SQLServerAbouttheCourse–关于课程考勤作为一个平时分依据课程总评:考查:练习形式Don’tworry.对待练习:Don’tjustcopy.Becalmandtrytounderstandtheprinciple.不要只是复制,保持镇定,重视基础。数据库管理与应用SQLServerHowToStudy–怎样学呢?保存好课件,作为参考,特别是没有书的同学。理解课件里的基础内容,学有余力,可以进一步学习更深的内容。难度以★号的多少来表示。掌握好一个★的就是具备了基础水平,两个或三个的★就是提高水平了。互相帮助:saynoto自扫门前雪数据库管理与应用SQLServer理论学习(教学)目标:1.了解数据库的产生与发展。2.了解数据库系统的体系结构。★★3.了解数据库的基本概念。★4.了解关系数据库的基本概念。★技能学习(教学)目标:1.掌握数据库的概念结构的设计方法。★2.掌握关系数据库的逻辑结构的设计方法。★★3.掌握数据库应用系统的设计过程和设计方法。★★第1章数据库的基本知识数据库管理与应用SQLServer1.1数据库技术的产生与发展数据库技术的发展经历了以下几个阶段1.人工管理阶段•不便保存、不共享、没有应用程序管理数据2.文件系统阶段•数据可以长期保存、文件系统管理数据、但独立性、共享性差3.数据库系统阶段•多用户、多应用共享数据4.高级数据库阶段•(1)分布式数据库系统:数据分布在不同地方,逻辑上是一整体,由网络相连•(2)对象数据库系统:多媒体数据,CAD数据•(3)网络数据库系统数据库管理与应用SQLServer1.2数据库基本概念1.2.1基本概念1.数据(Data):存储的基本对象2.数据库(DB):存放数据的仓库3.数据库管理系统(DBMS):对数据进行管理的软件4.数据库管理员(DBA)5.数据库系统(DBS)数据库管理与应用SQLServer1.2数据库基本概念1.2.2数据库三要素1.数据结构数据结构用于描述数据库的静态特性,是所研究的对象类型的集合(数据定义)。是对实体类型和实体间联系的表达和实现。2.数据操作数据操作用于描述数据库的动态特性,是指对数据库中各种对象的实例允许执行的操作的集合(如:查询、插入、更新、删除等)。3.完整性约束数据的约束条件是一组完整性规则的集合。完整性规则是给定的数据及其联系所具有的制约和存储规则,用以限定数据库状态以及状态的变化,以保证数据的正确性、有效性和相容性。数据库管理与应用SQLServer1.2数据库基本概念1.2.3数据库分类1.层次数据库(最早出现)学校信息系汽车系园林系网络教研室应用教研室电子商务教研室数据库管理与应用SQLServer1.2数据库基本概念1.2.3数据库分类2.网状数据库工厂一工厂二工厂三三产品1产品2产品3产品4数据库管理与应用SQLServer1.2数据库基本概念1.2.3数据库分类3.关系数据库关系模型用二维表格结构表示实体集,用键来表示实体间联系。这个二维表在关系数据库中就称为关系。表1.1学生个人信息表。学号姓名性别民族出生日期籍贯0906001郑超男汉族1990-01-27山东省五莲县0906002韩巨东男汉族1989-06-16山东省寿光市0906003孙野女汉族1988-04-16山东省莱阳市0906004徐小舟男汉族1989-01-13山东省莒南县0906005陈孝庭男汉族1990-07-27河北省平山县0906006席光楠女汉族1990-10-15山东省安丘市0906007马起俊男汉族1989-04-16山东省东明县0906008杨亚南女汉族1990-08-15山东省安丘市数据库管理与应用SQLServer1.3数据库系统的体系结构1.3.1三级模式从数据库管理系统角度看,数据库系统的体系结构分成三级:内模式(内部级):存储模式概念模式(概念级):逻辑结构和特征描述外模式(外部级):数据库用户的数据视图即三级模式结构。数据库管理与应用SQLServer1.4关系数据库1.4.1关系数据库的基本概念学号姓名性别出生日期0906001王启诚男1990-01-270906002孙中新男1989-06-160906003刘娜女1988-04-160906004郭恪腾男1989-01-130906005李文侠女1990-07-27主键属性元组关系名学号课程号成绩09060010101800906002010285090600301037909060040104690906005010592外键关系名学生个人信息表课程成绩表数据库管理与应用SQLServer1.4关系数据库1.4.1关系数据库的基本概念1.关系。一个关系对应一个二维表,二维表名就是关系名.2.属性和值域。二维表中的每一列都称为关系的属性。属性包括属性名和属性值两部分,列名即为属性名,列值即为属性值。属性的取值范围称为值域。3.关系模式。二维表中的行定义(表头),即对关系的描述称为关系模式,关系模式的一般形式为:关系名(属性1,属性2,…,属性n)数据库管理与应用SQLServer1.4关系数据库4.元组。表中的每行数据称为一个元组,也称为一条记录。5.主键(PrimaryKey)。也称为主关键字或主码,是表中的属性或属性的组合,用于确定唯一的一个元组。主键不能是空值。6.外键(ForeingKey)。外键的定义是相对于主键而言的,是用于建立和加强两个表数据之间的链接的一列或多列。数据库管理与应用SQLServer1.4关系数据库1.4.2关系的完整性1.实体完整性2.域完整性3.参照完整性4.用户自定义完整性数据库管理与应用SQLServer1.5数据库系统设计数据库管理与应用SQLServer1.5数据库系统设计1.5.1需求分析需求分析简单地说就是分析用户的要求。只有分析好用户的需求才能设计出用户满意的系统,它是数据库设计的起点,其结果将直接影响到以后各阶段的设计,并影响到最终的数据库系统能否正确使用。1.需求分析的任务2.需求分析的方法3.需求调查内容4.功能设计数据库管理与应用SQLServer1.5数据库系统设计1.5.2概念结构设计概念结构设计是数据库设计的第二阶段,其目标是对需求说明书提供的所有数据和处理需求进行抽象与综合处理,按一定的方法构造反映用户环境的数据及其相互联系的概念模型。概念模型是面向现实世界的数据模型,是用户和数据库设计人员之间进行交流的工具。是整个数据库设计的关键,对需求分析的结果进行综合、归纳,从而形成一个独立于具体数据库管理系统的概念数据模型。通常,把每一类数据对象的个体称为“实体”,而每一类对象个体的集合称为“实体集”,因此,在学生信息系统中主要设计“学生”和“课程”两个实体集。其他非主要的实体很多,如班级、任课教师、辅导员等实体。数据库管理与应用SQLServer1.5数据库系统设计1.5.2概念结构设计把每个实体集涉及的信息项称为“属性”。就“学生”实体集而言,她的属性有学号、姓名、性别、生日等。“课程”实体集的属性有:课程号、课程名、开课学期、学分等。不同实体之间存在各种关系,这些关系就称为“联系”。通常将实体集与实体集联系的图表示为实体(Entity)-联系(Relationship)模型。如果用矩形框表示实体集,用椭圆形框表示属性,用线段连接实体集与属性,当一个属性或属性组合指定为主键时,填充颜色为灰色。则可以用图1.9描述学生信息系统中的实体集与每个实体涉及的属性,也就构成了E-R图。数据库管理与应用SQLServer1.5数据库系统设计1.5.2概念结构设计学生学号姓名性别生日课程课程号课程名开课学期学分学生和课程实体集属性的描述数据库管理与应用SQLServer1.5数据库系统设计1.5.2概念结构设计概念模型中最著名的是“实体—联系模型”。这个模型直接从现实世界中抽象出实体类型及实体间的联系,E-R图就是E-R模型的描述方法,即实体-联系图。在E-R图中,用矩形框表示实体,用椭圆形框表示属性,用菱形表示联系。从分析用户项目涉及的数据对象与数据对象之间的联系出发,到获取E-R图的这一过程,称为概念结构设计。两个实体集A和B之间的联系可能是以下三种情况之一。数据库管理与应用SQLServer1.5数据库系统设计1.5.2概念结构设计1.一对一的联系(1:1)实体集A中的每个实体在实体集B中至多有一个实体与之对应关联,反之亦然。例如,班级和正班长是一对一的联系,如图1.10所示。正班长学号姓名班级专业班级编号人数属于11数据库管理与应用SQLServer1.5数据库系统设计1.5.2概念结构设计2.一对多联系(1:n)实体集A中的一个实体可以与实体集B中的多个实体相联系,而实体集B中的一个实体之多与实体集A中的一个实体相联系。例如,学院与系部、教研室与教师,系部与专业、班级与学生、系部和课程都是一对多的联系,如图1.11所示。系部系部编号名称书记主任专业人数专业编号名称属于1n数据库管理与应用SQLServer1.5数据库系统设计1.5.2概念结构设计3.多对多联系(m:n)实体集A中的一个实体可以与实体集B中的多个实体相联系,而实体集B中的一个实体也可以与实体集A中的多个实体相联系。例如,学生和课程之间是多对多的联系,如图1.12所示。学生学号姓名年龄性别课程课程编号学分选课mn课程名成绩数据库管理与应用SQLServer1.5数据库系统设计1.5.3逻辑结构设计E-R图描述学生信息系统中实体集与实体集之间的联系,目的是以E-R图为工具,设计关系型的数据库,即确定应用系统所使用的数据库应包含哪些表,每个表的结构是怎样的。因此,下面将介绍根据联系从E-R图得到关系模式的方法。1.1:1联系的E-R图到关系模式的转换1:1的联系既可以单独对应一个关系模式,也可以不单独对应一个关系模式。(1)1:1的联系单独对应一个关系模式,则由联系属性、参与联系的各实体集的主码属性构成关系模式,其主码可选参与联系的实体集的任一方的主码。数据库管理与应用SQLServer1.5数据库系统设计1.5.3逻辑结构设计例如,图1.10描述的“班级(BJ)”与“正班长(BZ)”实体集通过属于(SY)联系的E-R模型,可设计如下关系模式(以下内容中,下划线表示该字段为主码):BJ(班级编号,专业,人数)BZ(学号,姓名)SY(学号,班级编号)(2)1:1的联系不单独对应一个关系模式,则联系的属性及一方的主码加入另一方实体集对应的关系模式中。例如,图1.10描述的E-R模型,可设计如下关系模式:BJ(班级编号,专业,人数)BZ(学号,姓名,班级编号)或者BJ(班级编号,专业,人数,学号)BZ(学号,姓名)数据库管理与应用SQLServer1.5数据库系统设计2.1:n联系的E-R图到关系模式的转换1:n的联系既可以单独对应一个关系模式,也可以不单独对应一个关系模式。(1)1:n的联系单独对应一个关系模式,则由联系属性、参与联系的各实体集的主码属性构成关系模式,n端的主码作为该关系模式的主码。例如,图1.11描述的“系部(XB)”与“专业(ZY)”实体集E-R模型,可设计如下关系模式:XB(系部编号,名称,主任,书记)ZY(专业编号,名称,人数)SY(专业编号,系部编号)(2)1:n的联系不单独对应一个关系模式,则将联系的属性及1端的主码加入n端实