- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1
数据库表管理
2
上讲回顾
数据库的设计流程
SQLServer当前流行的关系型DBMS
数据库文件包括数据文件和日志文件
使用企业管理器建立数据库和管理数据库
使用T-SQL语言建立数据库
3
本课目标
掌握用企业管理器创建数据库表
掌握用命令创建数据库表
理解数据完整性的概念
理解范式的概念
在SQLServer中运用各种约束实现数据完整性
DTS数据导入导出
4
数据冗余
编号
姓名
年龄
民族
部门
1
王涛
33
汉族
人事管理部
2
李梅
27
汉族
人事管理部
为了数据查找,允许数据有一定的冗余
存在冗余
5
解决冗余-范式
仅有好的RDBMS并不足以避免数据冗余,必须在数据库的设计中创建好的表结构
Dr E.F.codd 最初定义了规范化的三个级别,范式是具有最小冗余的表结构,这些范式是:
第一范式
第二范式
第三范式
第四、五范式为更高级的范式形式,一般我们只需满足前三种范式
6
第一范式
如果每列都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式(1NF)
第一范式的目标是确保每列的原子性
姓名
信息
王军
133 太白路
张丽
139 动物园
李美
159 长安
姓名
电话
信息
王军
133
太白路
张丽
139
动物园
李美
159
长安
7
第二范式
在满足1NF的前提下,且除了主键以外的其他列,都依赖与该主键,则满足第二范式(2NF)
第二范式要求每个表只描述一件事情
订单编号
订购日期
001
…
002
…
003
…
订单编号
产品编号
订购日期
价格
001
N01
…
…
002
C05
…
…
003
D11
…
…
产品编号
价格
N01
…
C05
…
D11
…
8
第三范式
如果一个关系满足2NF,且除了主键以外的其他列都不传递依赖于主键列,则满足第三范式(3NF)
学生编号
学生姓名
教师编号
教师职称
001
赵思
1
…
002
李志
1
…
003
王蒙
3
…
学生编号
学生姓名
教师编号
001
赵思
1
002
李志
1
003
王蒙
3
9
数据不准确不可靠
存在不正确、不准确的数据,数据库“失去了完整性”
10
解决不准确-数据完整性
数据完整性
输入的类型是否正确?
—年龄必须是数字
输入的格式是否正确?
—身份证号码必须是18位
是否在允许的范围内?
—性别只能是”男”或者”女”
是否存在重复输入?
—学员信息输入了两次
是否符合其他特定要求?
—信誉值大于5的用户才能够加入会员列表
……
11
完整性包括
12
域完整性
×
约束方法:限制数据类型、检查约束、默认值、非空约束
13
实体完整性
×
约束方法:唯一约束、主键约束、标识列
14
引用完整性
×
约束方法:外键约束
科目
学号
分数
…
数学
0010012
88
数学
0010013
74
语文
0010012
67
语文
0010013
81
数学
0010016
98
15
表
表是关系数据库中的逻辑单元,用于存储实体数据
表由行和列组成
行描述实体的实例,列定义实体的属性
为表命名时必须小心,应确保表名称在数据库中是唯一的
16
表的命名
可以包含1到128个字符,包括字母、符号和数字
第一个字符必须是字母,下划线、@或#
首字符之后的字符可以包括字母、数字或 #、$符号及_
不允许有空格
17
创建表
可以使用企业管理器来可视化的创建表
可以使用create table语句来创建表
确定表名
确定表的列名
确定每个列所用的数据类型
确定列的长度
确定列是NULL还是NOT NULL
确定主键
思考步骤
创建方法
18
创建数据库表-1
19
思考
电话号码一般使用什么数据类型存储?
性别一般使用什么数据类型存储?
年龄信息一般使用什么数据类型存储?
照片信息一般使用什么数据类型存储?
薪水一般使用什么数据类型存储?
20
创建数据库表-2
21
思考
学员姓名允许为空吗?
家庭地址允许为空吗?
电子邮件信息允许为空吗?
考试成绩允许为空吗?
22
创建数据库表-3
23
思考
在主键列输入的数值,允许为空吗?
一个表可以有多个主键吗?
24
选择主键的原则
最少性
尽量选择单个键作为主键
稳定性
尽量选择数值更新少的列作为主键
25
创建数据库表-4
表中没有合适的列作为主键怎么办?
26
思考
标识列允许为字符数据类型吗?
如果标识列A的初始值为1,增长量为2,则输入三行数据以后,再删除两行,下次再输入数据行的时候,标识值从多少开始?
27
创建数据库表-5
28
创建数据库表-6
演示建立主-外键关系……
29
关系图
演示关系图……
30
主表和从表
1、当主表中没有对应的记录时,不能将记录添加到子表
——成绩表
原创力文档


文档评论(0)