数据库基础知识清华大学计算机文化基础.pptx
数据库基础知识n数据库系统概述n现实世界数据的描述实体联系模型n数据库支持的数据模型关系模型n使用Access完成建表操作第1页/共32页数据库在改变我们的生活超市管理交易的便捷企业的信息管理银行转帐飞机订票网上购物电子政务 欢迎光临清华学生超市1/10/05 销售收据 4:55PM-商品编码 商品名称 数量 金额-502009 钙锌切片 1 2.30124074 圣厨香味挂 1 3.90121064 超级福满多 1 5.00 -总计-数量 总计金额 折扣 合计 3,0 11.20 0.00 11.20 -支付-现金 11.20-C.ID 009 BILL:747898-谢谢惠顾 欢迎再来 第2页/共32页校园中的信息系统迎新系统选课系统网络学堂学籍管理审查毕业排课系统第3页/共32页社会的信息化依托数据库在信息化社会中,可为我们所利用的数据量呈爆炸型的增长。任何一个企业的成功之道都离不开它能够准确、及时地获取、分析和处理日常业务中涉及到的数据。而要存储、管理和利用如此大量的信息,不使用数据库几乎是不可能的。第4页/共32页计算机数据管理的发展人工管理没有管理数据的软件计算机 以计算为主操作系统 以文件为单位,对数据进行管理计算机 不但可以计算,而且可以存储和管理信息文件系统的局限性数据库系统 数据管理的专用技术数据库系统是计算机信息系统的基础和主要组成部分。第5页/共32页数据库技术数据库技术所研究的问题:如何科学地组织和存储数据如何高效地获取和处理数据数据库特点以数据为中心组织数据,形成综合性的数据库,为各应用共享。数据冗余小,不但节省存储空间,也有利于保持数据的一致性具有良好的用户接口,用户可方便地开发和使用数据库。提供了数据的安全性、完整性等保证。第6页/共32页数据库技术的发展趋势大型化需要存储的数据量越来越大(GBTB)需要同时接纳更多的用户(在线用户)大型数据库技术发展(存储技术、并行处理技术等)大型数据库产品:Oracle、DB2、SQL Server小型化今天的PC机功能已经可以和过去的大型机相媲美微机数据库技术的发展 微机数据库已经作为一种通用的工具。微机数据库代表:Access、Paradox、FoxPro等。第7页/共32页数据库的管理系统数据库是数据的仓库,可以长期地保存大量数据。数据库管理系统(DBMS)是协助用户管理和使用数据的软件,对每个数据库都是必须的。DataBase Management System第8页/共32页数据模型描述现实世界中的数据实体联系模型数据库支持的数据模型关系模型转换认识抽象现实世界第9页/共32页实体联系模型Entity Relationship Model:简称ER模型实体:客观存在、并可以相互区分的事物学生实体:张三、李四 教室实体:6A213、6B201实体集:对实体进行分类,抽象出实体集(如学生)实体集的属性:一类实体所具有的共同属性。学生实体集属性:学号、姓名、性别、出生年月属于一个实体集的各实体都用同一组属性来描述。实体集的码:实体集中唯一标识一个实体的属性或属性组 学生实体集的码:学号(姓名?)第10页/共32页实体联系模型实体集之间的联系现实世界中的事物之间是有联系的,这种联系必然要反映到ER模型中。一对一联系(1:1)对于实体集A中的每一实体,实体集B中至多有一个实体与之联系。反之亦然。系 系主任第11页/共32页实体集之间的联系一对多联系(1:N)对于实体集A中的每一实体,实体集B中有N(0)个实体与之联系;对于实体集B中每一实体,实体集A中至多只有一个实体与之联系。多对多联系(M:N)对于实体集A中的每一实体,实体集B中有N(0)个实体与之联系;对于实体集B中每一实体,实体集A中有M(0)个实体与之联系。系 学生 课程1:NM:N第12页/共32页教务系统 数据分析实体集:系主任、系、学生、课程 联系:系主任:系 1:1系:学生 1:N学生:课程 M:N第13页/共32页ER模型的图形表示 ER图系主任证件号姓名职称系系号系名电话学生学号姓名性别出生年月课程课程号课程名学分包含负责选修11NMN1成绩第14页/共32页数据库中的数据模型系号系名电话系主任学号姓名性别出生年月系号关系数据库关系模型第15页/共32页实体集与二维表有着自然的对应关系实体集名 表名实体集属性 表列实体集码 表的主码实体表的行(表中存储的记录)ER模型 关系模型系号系号系名系名电话电话d01计算机系计算机系2290d02物理系物理系3390系系号系名电话系表的结构表中数据第16页/共32页ER图转换为关系表(1)表名(列名1,列名2,)系主任(证件号,姓名,职称)系(系号,系名,电话)学生(学号,姓名,性别,出生年月)课程(课程号,课程名,学分)联系的信息如何存储?联系的信息也放在二维表里!第17页/共32页联系的信息 1:1q在其中一个表中增加1列,存放另一表的主码q系表和系主任表之间存在1:1的联系第18页/共32页联系的信息 1:nq在n端表中增加一列,存放另一个表的主码q系表和学生表之间存在1:n的联系第19页/共32页联系的信息 m:nq新建一个表,专门存储 m:n 的联系信息q学生表和开课表通过选课表建立了m:n的联系q学生表和选课表是1:n的联系q开课表和选课表是1:n的联系主码主码外来码外来码第20页/共32页ER图转换为关系表(2)系主任(证件号,姓名,职称)系(系号,系名,电话,系主任)学生(学号,姓名,性别,出生年月,系号)课程(课号,课名,学分)选课(学号,课号,成绩)第21页/共32页理解关系模型理解二维表的行列结构行 实体信息列 属性理解二维表的集合概念二维表是一个集合,每行为集合的一个元素理解二维表之间的联系(外来码)第22页/共32页在Access中完成建表导航窗格导航窗格功能区功能区u表设计视图uSQL语句第23页/共32页建立表表设计视图第24页/共32页建立表表设计视图director表结构:dirno:主码、文本 5、索引(有(无重复)dirname:文本 10title:文本 10dep表结构:dno:主码 文本 3、索引(有(无重复)dname:文本 10 phone:文本 4 director:文本5、索引(有(无重复)course表结构:cno:主码 文本 3、索引(有(无重复)cname:文本 20 credit:数字 整数第25页/共32页建立表使用SQL语句操作过程创建查询对象进入SQL视图编写 create table 语句,执行该语句。建建student表表create table student(sno char(6)primary key,sname varchar(10)not null,sex char(2)not null,birthday date,dno char(3)references dep(dno);建enroll表create table enroll(sno char(6)references student(sno),cno char(5)references course(cno),grade integer,primary key(sno,cno);第26页/共32页向表中插入数据使用数据表视图使用SQL语句INSERT INTO studentVALUES(s06001,张小红张小红,女女,#3/12/1989#,d01);第27页/共32页建立表之间的关系 关系视图数据库工具关系按钮:调出关系视图在视图中添加或隐藏表:快捷菜单 显示表/隐藏表可视化建立表的关系:鼠标拖动(主码列外来码列)第28页/共32页建立表之间的关系 关系视图建立关系定义参照完整性约束第29页/共32页关系表操作投影与选择在实际应用中,用户希望看到的往往是一个表的部分数据,而不是整个表。选择 从关系表中找出满足条件的行(指定选择条件)投影 从关系表中选取部分列(指定需要哪些列)第30页/共32页关系表操作连接连接 将两个表相关记录连接起来,形成跨表的大记录。连接方式 通过“外来码主码”实现连接公共列上具有相同值的记录连接在一起连接条件:student.dno=dep.dnodno学生表学生表student系表dep第31页/共32页感谢您的观看。第32页/共32页