数据库基础2014-9-12整理手工管理阶段特点(1)数据不保存----不能实现数据共享。(2)数据与程序不可分割。(3)各程序的数据彼此独立----数据冗余。适应场合:数据量较小。文件系统阶段–(1)程序和数据分开,有一定的独立性。–(2)数据以文件形式保存–(3)实现一定程度的数据共享。–(4)数据文件之间缺乏联系。数据库阶段–(1)数据和程序之间彼此独立–(2)数据以数据库形式保存–(3)专门的数据库管理软件-------DBMS。应用程序1……DBMS应用程序2数据库应用程序n分布式数据库系统–数据库技术和计算机网络技术相结合产生–1–2–将程序设计语言中对象的概念引用到数据库–1–2理更为复杂的对象6.1我们身边的数据库什么是数据库是持久数据的集合银行的用户信息、学校的教师和学生信息、图书馆的图书信息、网页上不断更新的新闻、文献资料……什么是数据库技术何高效地获取和处理数据障数据安全数据共享。Internet命令查询结果===保障图书安全整理、组织、存储最大限度地实现图书的共享高效地查找和管理图书图书馆根据书的特征将它们按学科分类整理立索引表确定书籍的存放方法根据索引表按照名称、作者、关键字、出版社等查找存放位置需要不断地对图书进行购进、丢失处理、借阅、归还等管理工作对图书使用状况进行科学地分析和统计为修改购书计划的依据借阅格的规章制度、只允许合法用户借阅、限定借阅册数和期限……不允许长期滞留在个人手中、不能被某些院系独占、避免重复购进造成浪费……数据库与图书馆的不同点数据更具普遍性需要一套科学的技术和方法。简而言之?数据库DB–指按特定的组织形式将数据保存在存储介质上–12,有层次、网状和关系模型34作DBMS统一进行。.?数据库管理系统DBMS–对数据库进行管理的软件.–功能1:定义数据库的结构、数据完整性和其它的约束条件2:实现数据插入、修改、删除和查询3:实现数安全控制、完整性控制以及多用户环境下的并发控制4:提供对数据的装载、转储和恢复据库的性能分析和监测5DataBaseSystemDBS引入了数据库的计算机系统。一般由数据库(DB)、数据库管理系统(DBMS)(DBA)组成。用户用户用户应用系统DBMSDBADBDBMS是数据库系统的核心?应用程序–利用DBMS开发的应用软件。?数据库管理员DBA–?数据库系统DBS–完整的数据库系统由硬件、数据库、数据库管理系统、操作系统、应用程序、数据库管理员等部分组成。应用程序开发工具软件数据库管理系统操作系统硬件数据库管理员用户数据库系统DBS.三级模式–(1)模式(逻辑模式或概念模式)是对数据库中的全部数据的逻辑结构和特征的描述–(2)外模式(用户模式或子模式)该模式面向用户结构和特征的描述–(3)内模式(存储模式)描述数据的物理结构、在存储介质上的存储方法和存取策略。数据库概述二级映射–用于三级模式之间的转换。1/模式映射–定义外模式和概念模式之间的对应性念模式的改变不影响外模式和应用程序从而达到了数据的逻辑独立性。2/内模式映射–定义概念模式和内模式之间的对应性构改变即修改内模式时/内模式映象从而达到了数据的物理独立性。应用1应用1应用1外模式A外模式B模式内模式数据库OSDBMS外模式/模式映像模式/内模式映像概念数据模型概念数据模型?从用户的角度?强调对数据对象的基本表示和概括性描述联系?不考虑计算机具体实现DBMS无关数据模型是对现实世界的数据特征的抽象描述逻辑数据模型物理数据模型逻辑数据模型?从计算机DBMS的角度?用于在数据库系统实现。?概念数据模型要转化为逻辑数据模型能在DBMS中实现物理数据模型?从计算机?每种逻辑数据模型在实现时应的物理数据模型的支持数据模型?概念数据模型–概念数据模型用来建立信息世界的数据模型表达–1)实体可以是具体的事物,一本书也可以是抽象的事物,如一次考试–2)实体的属性如学生用学号、姓名、性别、年龄等属性描述–3)一个实体是若干个属性值的集合。如一个特定的学生用学号、姓名、性别等属性值描述–4)实体集如若干个学生实体的集合构成学生实体集数据库概述实体集之间的联系概念之间实体的对应关系称为联系?1–如果实体集E1中的每一个实体至多和实体集E2中的一个实体有联系E1和E2是一对一的联系1:1。–例如:实体集校长和–实体集学校之间的–联系是一对一。数据库概述?2–如果实体集E1中的每个实体与实体集E2中的任意个实体有联系E2中的每一个实体至多和实体集E1中的一个实体有联系E1和E2之间是一对多的联系1:nE1称为一方E2为多方。–例如–体集学生之间是一对多––3E1中的每个实体与实体集E2中的任意个实体有联系E2中的每个实体与实体集E1中的任意个实体有联系E1和E2之间是多对多的联系m:n。例如体集课程之间是多对多的关系?E-R图:用图形方式表示实体集之间的联系。?组成–1–2的名称–3–4明联系种类1:1、1:n或n:m。一对一联系实体集之间的联系一对多联系多对多联系学校1学校2学校3……学校n校长1校长2校长3……校长n学校校长班级1班级2班级3……班级n学生1学生2学生3……学生n班级学生111n课程1课程2课程3课程4课程5……课程n学生1学生2学生3学生4学生5……学生n课程学生mn?E-R模型的表示方法–实体——用矩形表示–属性——用椭圆形表示–联系——用菱形表示课程课程号课程名学分学生课程选课成绩mn院系班级组成1n班主任班级负责11成绩类型111nmnE-R学生课程选课mn构成班级组成院系任课教师上传资源学期nmm1m1qp1m?系统功能任课班级的学生成绩、上传资源、查看学生留言。学生学号姓名性别年龄选课课程课程编号课程名称任课教师成绩mn?DBMS所支持的数据模型称为逻辑数据模型?用概念数据模型表示的数据必须转化为逻辑数据模型表示的数据DBMS中实现。?根据数据及数据之间联系的表示形式的不同有以下几种逻辑数据模型–层次数据模型–网状数据模型–关系数据模型–面向对象的数据模型用树状结构表示各类实体以及实体间的联系以网状结构表示各类实体以及实体间的联系用二维表格来描述实体以及实体之间的联系用面向对象的观点来描述现实世界的实体。概念体之间关系的模型。–结点1–1)用树形表示数据之间的多级层次结构。–2)结构特点(1)只有一个最高结点即根结点(2)其余结点有而且仅有一个父结点(3)上下层结点之间表示一对多的联系–3)应用:行政组织机构、家族辈份关系等。?2–1)用图表示数据之间的关系–2)允许结点有多于一个的父结点–3)可以有一个以上的结点没有父结点。–4)特点:表示结点之间多对多的联系。?3型–1)用二维表格来表示实体及实体之间的联系–2)实际应用中–3)特点,容易实现物理数据模型?物理数据模型反映了数据在存储介质上的存储结构?物理数据模型不仅与具体的DBMS有关和操作系统及硬件有关。?在计算机系统的底层对数据进行抽象?在设计一个数据库时界抽象得到概念数据模型据模型转换为逻辑数据模型?最后一步一般由选定的DBMS自动实现。?采用的DBMS是支持关系数据模型的建的数据库称为关系数据库?相应的DBMS为关系数据库管理系统RelationalDataBaseManagementSystemRDBMS根据概念数据模型设计逻辑数据模型关系数据库数据结构规范化的二维表格的列学生(包括候选键和主键)?关系模型的组成----二维表格?1–在文件中对应一条具体记录。?2–?3–二维表第一行显示的每一列的名称应字段名?4–行和列的交叉位置表示某个属性的值。?5–表示各个属性的取值范围。?6–各字段取值的类型、宽度等。?7––关系名(属性1,属性2,属性3,…n)–例student(学号,姓名,性别,年龄)?6–各字段取值的类型、宽度等。?7–格式–关系名(属性1,属性2,属性3,…n)–例student(学号,姓名,性别,年龄)?9–从候选键中指定一个用来标识元组。?10–表中的一个字段不是本表的主关键字或候选关键字–:在关系score中“学号”不是score的主键student的主键?11–主表:以外键作为主键的表–从表:外键所在的表–主表和从表通过外键相关联?1分?2(字段)不允许重名?3?4?5?1–从指定的关系中选择满足给定条件的元组组成新的关系。?例题score1中选择数学大于90的元组组成关系S1。S1=σ数学90Score1关系的基本运算?2–从指定关系的属性集合中选取若干个属性组成新的关系。–从关系score1中选择“学号”、“姓名”、“数学”组成新的关系S2。–S2=π学号Score1?联接–两个关系中的元组按指定条件组合新的关系–例题:将score1和score2按相同学号合并——学号姓名性别状态入学时间最后登陆时间登陆次数39001杨雨潇男在读2007-9-12008-7-21839002崔敏女在读2007-9-12008-7-42539003张进女在读2007-9-12008-7-12039004何晴女在读2007-9-12008-6-301639005李哲男在读2007-9-12008-7-21939006刘晓女在读2007-9-12008-7-222关系S1学号姓名性别状态入学时间最后登陆时间登陆次数39001杨雨潇男在读2007-9-12008-7-21839005李哲男在读2007-9-12008-7-219关系S2从指定的关系中选择满足给定条件的元组组成新的关系选择运算投影运算从关系的属性集合中选取指定的若干个属性组成新的关系S2=σ性别=”男”S1S3=π学号S1S3连接运算在两个关系的所有元组组合中选择符合指定条件的元组的关系关系S3学号课程号成绩成绩类型390018850390027770390016761390016900390067820390018800390066920关系S4S6=π学号σ成绩类型=0S4S6S7=S3S6关系S7最大限度地保证数据的正确性、合法性和一致性实体完整性规则关系中各个元组的主键不允许取空值、不允许重复。数据完整性用户定义的完整性允许用户自行定义对数据的约束条件义上保证数据的合法性。参照完整性规则在关系模型中的联系也用关系来表示修改一个关系时系进行检查和修改。取值参照或取空值在选课表中插入一个记录(39078,6,90,0)(39001,杨雨潇,男,在读,2007-9-1,2008-7-2,18)如何保证数据的一致性E-R1)两个实体集学生(学号,姓名,性别,年龄)课程(课程代码,课程名称,任课教师)2)联系选修(学号,课程代码,成绩)↑↑↑两个实体集的主键自身属性网上成绩查询管理系统的E-R图学生课程选课mn构成班级组成院系任课教师上传资源学期nmm1m1qp1m?一个实体集转换为一个关系模式集的属性就是关系的属性院系学时间3种取值QQ号回密码问题课程资源间Access?Access的特点–1.具有Office系列的共同功能;–2.桌面型的数据库管理系统;–3.与其它数据库系统共享数据;–4.提供程序设计语言VBA。Access启动ACCESS?Access2003是MicrosoftOffice2003的组件之一接口–使用非常简单——可视化工具–提供了大量的向导——快速创建对象及应用程序–面向对象的、采用事件驱动VBA语言作为其应用程序开发工具–可处理多种数据信息——Office组件数据、其他DBMS数据创建数据库和数据表数据完整性控制数据查询Access?1.“开始”---“程序”---MicrosoftAccess?2.在对话框中选“空Access数据库”。?3.单击“确定”?4.输入数据库名?5.单击“创建”数据库组成6.4.1创建数据库数据库文件.mdb括所有相关数据和管理这些数据的所有对象。方法单击【开始】|【所有程序】|【MicrosoftOffice】|【MicrosoftOfficeAccess2003】启动Access2003|【新建…】利用向导建