内容正文:
数据库设计
第一章
1
目 录
2
1.1 初始数据库系统
1.2 数据库设计概述与需求分析
1.3 数据库概念设计
1.4 数据库逻辑设计
1.5 数据库物理设计
1.5 数据库物理设计
理解物理设计的任务。
掌握SQL标识符命名规则。
掌握SQL Server系统数据类型。
理解数据完整性。
知识目标
学会依据DBMS的规范设计合理的数据表结构。
掌握数据完整性规则。
能力目标
5
项目小组根据逻辑设计阶段得到的关系模式,选择SQL Server 2017作为DBMS,设计“学生成绩管理系统”数据库的物理结构。
、
任务描述
6
物理设计是为逻辑设计阶段设计的关系模型建立一个完整的能实现的数据库结构,包括存储结构和存取方法等,其大部分工作都由DBMS完成,我们需要做的是确定数据库文件的长度和数据类型等,将数据库逻辑设计阶段设计的关系模式转化为SQL Server 2017支持的实际数据模型——数据表对象,并且建立数据库中各个数据表之间的关系。
完成任务的具体步骤如下:
(1)将关系模式转换成SQL Server 2017数据表结构的形式,设置表的字段及字段名、数据类型、是否允许为空值等;
(2)对数据表进行数据完整性约束设置。
任务分析
1.5.1 SQL标识符
数据库对象的名称即标识符。它是用户定义的可识别的有特定意义的字符序列,用户定义标识符时必须符合标识符命名规则,否则将会出现错误。
1.常规标识符
常规标识符的命名规则:
第一个字符必须由字母a~z、A~Z,以及来自其他语言的字母字符或下画线(_)、@、#构成。后续字符可以是Unicode标准字符集中定义的字母、十进制数字、基本拉丁字母、符号(#,_,@,$)。
在定义标识符时,不能占用T-SQL的保留字。
在标识符中不能含有空格或其他特殊字符。
标识符中的字符数量不能超过128个。
知识导读
1.5.1 SQL标识符
2.分隔标识符
对于不符合常规标识符命名规则的标识符,必须用分隔标识符,即用方括号或双引号进行分隔。
分隔标识符主要适用于以下两种情况:
当对象名称中包含SQL Server的保留字时,需要使用分隔标识符。如[ORDER]、[VIEW]等。
当对象名称中使用了未列入限定字符的字符时(如空格),或者当关键字作为名称的一部分时,需要使用分隔标识符,如[Person NAME]、[My Table]。
知识导读
1.5.1 SQL标识符
3.标识符的命名法则
尽可能使标识符反映出对象本身所蕴含的意义或数据类型。
尽可能使用最简短的标识符。
尽量使用清晰自然的名字命名。
知识导读
1.5.2 SQL SERVER系统数据类型
知识导读
1.5.2 SQL SERVER系统数据类型
知识导读
1.5.2 SQL SERVER系统数据类型
字符类型主要用于存储由字母、数字和其他特殊符号组成的字符串。在引用字符串时要用单引号括起来。
字符类型的数据分为两类,一类是ASCII字符数据,另一类是Unicode字符数据。在存储ASCII字符数据时,1个西文字符占用1B存储空间,1个中文字符占用2B存储空间;在存储Unicode字符数据时,1个西文字符占用2B存储空间,1个中文字符占用2B存储空间。
知识导读
1.5.2 SQL SERVER系统数据类型
字符类型分为两类,一类是定长字符类型,如char(n)、nchar(n);另一类是变长字符类型,如varchar(n)、nvarchar(n)。二者的区别在于定长字符类型(char、nchar)用于存储固定长度的字符数据,如学号,当实际存储容量小于预定容量时,剩余部分用空格补足;而变长字符类型(varchar、nvarchar)用于存储可变长度的字符数据,如地址信息,当实际存储容量小于预定容量时,剩余部分被系统回收,按输入字符实际长度存储。
知识导读
1.5.2 SQL SERVER系统数据类型
知识导读
1.5.3 数据完整性
数据完整性是指数据的准确性和一致性。利用数据完整性限制数据表中输入的数据,减少数据输入错误的问题,防止数据库中存在不正确的数据。关系模型中有3类完整性约束:实体完整性、参照完整性(引用完整性)和用户自定义完整性。
知识导读
1.5.3 数据完整性
1.实体完整性
实体完整性是指数据表中行的完整性,主要用于保证操作的数据(记录)非空、唯一且不重复。实体完整性要求每个数据表有且只有一个主键,每一个主键值必须唯一,并且不允许为空,从而使数据表中每一条记录都是唯一的,如学生表中以学号为主键。
知识导读
1.5.3 数据完整性
2.参照完整性
参照完整性属于数据表间的规则,主要用于保证有关联的两个或两个以上数据表之间数据的一致性。例如,删除父