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