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