Presentation is loading. Please wait.

Presentation is loading. Please wait.

第2章 数据定义功能 创建表 在关系型数据模型中,表(Table)是最基本的数据结构。

Similar presentations


Presentation on theme: "第2章 数据定义功能 创建表 在关系型数据模型中,表(Table)是最基本的数据结构。"— Presentation transcript:

1 第2章 数据定义功能 创建表 在关系型数据模型中,表(Table)是最基本的数据结构。
在关系型数据库中,数据是以分散的方式存储在多个表当中。

2 2.1 关系模型的基本术语和数据结构 关系(Relation):在关系型数据库中,一个关系对应着一个二维表,每个关系有一个关系名,二维表名就是关系名。在Access数据库中,一个关系就对应着一个表对象。 属性(Attribute):在二维表中,垂直方向的列称为属性,也称为字段(Field)。一个具有n个属性的关系称为n元关系。 值域(Domain):一个属性的取值范围。 记录(Record):在二维表中,水平方向的行称为记录,也称为元组(Tuple)。 分量(Component):某条记录中的一个属性值称为该记录的一个分量。

3 2.1 关系模型的基本术语和数据结构 Product关系 产品ID 产品名称 供应商ID 单位数量 单价 库存量 再订购量 1 苹果汁
每箱24瓶 ¥18.00 39 10 2 牛奶 ¥19.00 17 25 3 蕃茄酱 每箱12瓶 ¥10.00 13 4 ¥22.00 53 5 麻油 ¥21.35 6 酱油 ¥25.00 120 7 海鲜粉 每箱30盒 ¥30.00 15 8 胡椒粉 ¥40.00

4 2.1 关系模型的基本术语和数据结构 主键/主码/主关键字(Primary Key):在一个关系上,可以定义主键。主键具有如下性质。
(1)主键是一个属性集合,可以由一个或多个属性组成。 (2)唯一性:关系中的任意两条记录在主键上的值都不相同,因此根据主键上的值能够唯一地标识关系中的一条记录。 (3)最小性:不包含多余的属性。 “产品ID”属性构成了Product关系的主键。

5 2.1 关系模型的基本术语和数据结构 Product关系
产品ID 产品名称 供应商ID 单位数量 单价 库存量 再订购量 1 苹果汁 每箱24瓶 ¥18.00 39 10 2 牛奶 ¥19.00 17 25 3 蕃茄酱 每箱12瓶 ¥10.00 13 4 ¥22.00 53 5 麻油 ¥21.35 6 酱油 ¥25.00 120 7 海鲜粉 每箱30盒 ¥30.00 15 8 胡椒粉 ¥40.00 设有s=(1,苹果汁,1,每箱24瓶,18.00,39,10)和t=(9,胡椒粉,3,每箱30盒,40.00,6,0)。 s的各个分量与Product关系中第1条记录的对应分量都相等,因此称s是Product关系中的一条记录(记做s ∈ Product),且该记录的第一个分量记做s.产品ID,其值是1; 而t不是Product关系中的记录(记做t ∉ Product),因为Product关系中不存在产品ID为9的产品记录,即使t的其他分量与表中第8条记录的对应分量都相等。

6 2.1 关系模型的基本术语和数据结构 此外,关系还具有如下一些性质。
(1)同一属性列中的分量值有相同的数据类型。例如,“单价”都是带有货币单位的数值,可以进行加减乘除运算;而“产品名称”都是标志性的字符串,无法比较大小,但可以比较是否相同。 (2)分量是不可再分割的最小数据项。例如,再对产品名称中的“苹果汁”进行分解就没有实际意义了。 (3)表中的任意两条记录不能完全相同,即这两条记录对应的属性值不能都相同。

7 2.1 关系模型的基本术语和数据结构 关系模式(Relation Schema):关系模式是对关系的描述,它包括关系名、组成该关系的属性名等信息。通常简记为:关系名(属性名1,属性名2,…,属性名n)。 表Product 的关系模式:Product(产品ID,产品名称,供应商ID,单位数量,单价,库存量,再订购量)。 产品ID 产品名称 供应商ID 单位数量 单价 库存量 再订购量 1 苹果汁 每箱24瓶 ¥18.00 39 10 2 牛奶 ¥19.00 17 25 3 蕃茄酱 每箱12瓶 ¥10.00 13 4 ¥22.00 53 5 麻油 ¥21.35 6 酱油 ¥25.00 120 7 海鲜粉 每箱30盒 ¥30.00 15 8 胡椒粉 ¥40.00

8 2.2 表的设计 在Access数据库中,表是存储数据的基本对象。

9 2.2.1 表的设计 “花名册”表的设计方案 表中所包含的字段 (以字段名表示) 字段的含义、用法 主要的处理方法 学号
一般的学号为8位阿拉伯数字,但也存在像留学生学号的特殊情况,如04QK110041、01QG4106。所以,可以将学号看作是由10个阿拉伯数字(或英文字母)组成的字符串 显示、排序 姓名 由汉字(或英文字母)组成 性别 用一个汉字(“男”或“女”)表示性别 显示 出生日期 包含年、月、日 身份证号码 一般是由18位阿拉伯数字组成的字符串,但第18位也可能为英文字母 入学成绩 高考成绩 四则算术运算、比较大小 应交学费 以人民币为统一单位(不包括书杂费) 四则算术运算 党员身份 标志学生是否为中共党员 简介 特殊说明的文字,如特长、获奖情况 照片 多媒体形式的图像文件

10 2.2.2 Access数据类型 在确定了字段名称及其含义和用法之后,还需要确定各字段采用的数据类型。数据类型取决于该字段将存储什么样的数据以及数据的处理方法。 Access数据库中的主要数据类型 数据类型 可存储的数据 应用举例及说明 文本(Text) 文字、数字型字符 学号、姓名、地址、电话号码、零件编号或邮编 备注(Memo) 文字、数字型字符、特殊的“文本”类型 长文本及数字,例如备注、简介和说明 数字(Number) 数值(可进行四则算术运算) 数量、成绩 日期/时间(Date/Time) 日期时间值 出生日期、订货日期 货币(Currency) 货币值、特殊的“数字”类型 学费、单价 自动编号(Auto Number) 顺序号或随机数、特殊的“数字”类型 在添加记录时Access会自动插入的唯一顺序编码(每次递增1) 是/否(Yes/no) 逻辑值 只包含两个值中的一个,例如“是/否”、“开/关” OLE对象(OLE Object) 图像、图表、声音等多媒体数据 照片、背景音乐 超链接(Hyperlink) 作为超级链接地址的文本 文件路径或网址

11 2.2.2 Access数据类型 根据Access数据库中可以使用的数据类型,进一步确定“花名册”表中各字段的数据类型。
“花名册”表的进一步设计方案 字段及其名称 字段的数据类型 说明 学号 文本 由10个数字(或英文字母)组成的字符串 姓名 性别 用一个汉字(“男”或“女”)表示性别 出生日期 日期/时间 身份证号码 一般是由18个数字组成的字符串,但第18位也可能为英文字母 入学成绩 数字 高考成绩 应交学费 货币 以人民币为统一单位(不包括书杂费) 党员身份 是/否 “是”代表为中共党员(含预备党员),“否”代表目前不是中共党员 简介 备注 照片 OLE对象

12 2.3 使用设计器创建表 在Access中提供了多种创建表的方法,主要包括: 使用设计器创建表; 使用数据定义语言创建表;
通过导入外部数据创建表; 使用向导创建表; 通过输入数据创建表; “使用设计器创建表”的方法最为灵活和有用。

13 2.3.1 使用设计器创建表 【练习2-1(P22)】根据如下设计方案,使用设计器创建“花名册”表。 字段及其名称 字段的数据类型 说明
学号 文本 由10个数字(或英文字母)组成的字符串 姓名 性别 用一个汉字(“男”或“女”)表示性别 出生日期 日期/时间 身份证号码 一般是由18个数字组成的字符串,但第18位也可能为英文字母 入学成绩 数字 高考成绩 应交学费 货币 以人民币为统一单位(不包括书杂费) 党员身份 是/否 “是”代表为中共党员(含预备党员),“否”代表目前不是中共党员 简介 备注 照片 OLE对象

14 2.3.1 使用设计器创建表 操作步骤: (1)启动Access 2003,并建立一个空数据库Demo-2。 (2)打开新建表的设计视图。
(3)添加字段(参见设计方案)。 (4)设置主键。 (5)保存表的设计结果。

15 2.3.2 在数据表视图中编辑数据 在Access中,“表”对象有两种常用的视图:设计视图和数据表视图。
在设计视图中,可以创建或修改表的结构,比如修改字段名称、重新设置字段的数据类型等;而在数据表视图中,则可以浏览、添加、删除及编辑表中的数据。并且这两种视图之间是可以相互切换的。

16 2.3.2 在数据表视图中编辑数据 【练习2-2(P24)】按照下表所示的“花名册”关系,在“花名册”表的数据表视图中输入数据,并在两种视图之间相互切换。 操作步骤: (1)打开表对象的数据表视图。 (2)在数据表视图中输入和浏览数据。 (3)视图的切换。 (4)保存输入的数据,关闭数据表视图即可。 学号 姓名 性别 出生日期 身份证号码 入学成绩 应交学费 党员身份 简介 董瑾 456 5000 不是 肖剑 564 4000 2004年获得陕西省高中物理竞赛二等奖

17 2.3.3 设置字段属性 Access数据库中的字段属性 属 性 用 途 字段大小(Field Size)
属 性 用 途 字段大小(Field Size) 定义文本、数字或自动编号数据类型字段的长度 格式(Format) 定义数据的显示格式和打印格式 输入掩码(Input Mask) 定义数据的输入格式(见4.2.1节) 小数位数(Decimal Places) 定义数值的小数位数 标题(Caption) 在数据表视图的标题栏中显示的文本;默认为字段名称 默认值(Default Value) 定义字段值的默认值 有效性规则(Validation Rule) 定义字段的校验规则(见4.2.2节) 有效性文本(Validation Text) 当输入或修改的数据没有通过字段的有效性规则时,所要显示的信息(见4.2.2节) 必填字段(Required) 确定数据是否必须被输入到字段中 允许空字符串(Allow Zero Length) 定义文本、备注和超级链接数据类型字段是否允许输入零长度字符串 索引(Indexed) 定义是否建立单一字段索引 新值(New Values) 定义自动编号数据类型字段的数值递增方式 输入法模式(IMEMode) 定义焦点移至字段时是否开启输入法 Unicode压缩(Unicode Compression) 定义是否允许对文本、备注和超级链接数据类型字段进行Unicode压缩

18 2.3.3 设置字段属性 1.字段大小 “数字”类型的“字段大小”属性值的说明 属性值 说明 小数位数 占用空间 整型 保存从-32,768到32,767的整数 2字节 长整型 保存从-2,147,483,648到2,147,483,647的整数 4字节 单精度型 保存从 E38到 E-45的负值,以及从 E-45到 E38的正值 7 双精度型 保存从 E308到 E-324的负值,从 E-324到 E308的正值 15 8字节 小数 保存从-10^28-1到10^28-1范围的数字 28 12字节 对于“文本”数据类型的字段来说,“字段大小”则有着特定的含义:一个汉字、一个字母或一个阿拉伯数字都占一个“字段大小”。

19 2.格式:使用“格式”属性可按统一的格式显示数据。
2.3.3 设置字段属性 2.格式:使用“格式”属性可按统一的格式显示数据。 字段类型 “格式”属性值 显示格式举例 数字 常规数字 标准 3,456.79 百分比 123.00% 科学记数 3.456E+03 货币 ¥3,456.79 欧元 €3,456.79 日期/时间 常规日期 :28:21 长日期 1994年6月19日 中日期 短日期 注意:“格式”属性只影响字段值如何显示,而不影响字段值在表中如何保存。

20 2.3.3 设置字段属性 3.标题 在“表”对象的数据表视图中,标题位于第一条记录的上方,并且每个字段列都有一个标题。
通常情况下,不需要为字段专门指定标题。此时,字段名称将作为数据表视图中的列标题。 在有些情况,可以通过为字段设置专门的“标题”属性,以便对数据表视图中的列标题进行专门的说明。

21 “花名册”表中部分字段相应的字段属性及其设置
2.3.3 设置字段属性 “花名册”表中部分字段相应的字段属性及其设置 字段名称 字段属性 作用 属性名称 属性值 学号 字段大小 10 “学号”至多由10个字符组成 姓名 8 “姓名”由8个字符组成 性别 1 表示性别的“男”或“女”只占一个字符的大小 出生日期 格式 短日期 “出生日期”的显示格式形如 身份证号码 18 “身份证号码”由18个字符组成 入学成绩 整型 “入学成绩”为整数 应交学费 货币 “应交学费”的显示格式形如¥5,000.00 党员身份 标题 是否是中共党员 在数据表视图中,将该字段的标题显示为“是否是中共党员” 【练习2-3(P27)】在“花名册”表中设置相应的字段属性。 操作步骤: (1)打开表的设计视图。 (2)设置字段属性。 (3)保存对字段属性的设置。(4)观察字段属性的作用。

22 2.4 数据定义语言 数据定义功能是RDBMS的主要功能之一,能够完成对表的定义、创建和修改,包括指定表的名称、表所包含的字段及字段的数据类型等功能。 “使用设计器创建表”就是实现数据定义功能的一种方法。 使用数据定义语言(Data Definition Language,DDL)也可以实现数据定义功能。 在不同的数据库产品中,DDL所遵循的基本格式是一样的。

23 2.4.1 使用数据定义语言创建表 在DDL中,主要包括以下3条命令:
(1)CREATE TABLE命令。使用该命令可以创建表。该命令格式为: CREATE TABLE 表名 ( 字段名1 数据类型(长度) [, 字段名2 数据类型(长度)…]) 例如,利用CREATE TABLE命令,创建字段结构如下表所示的“产品”表,其中“产品ID”为主键。 对应的CREATE TABLE命令为: CREATE TABLE 产品 (产品ID INTEGER, 产品名称 TEXT(40), 单位数量 TEXT(20), 单价 CURRENCY, PRIMARY KEY (产品ID)) 字段名称 数据类型 字段大小(字段属性) 产品ID 数字 长整型 产品名称 文本 40 单位数量 20 单价 货币

24 2.4.1 使用数据定义语言创建表 (2)ALTER TABLE命令。使用该命令可以对已有表的结构进行修改。该命令格式为:
ALTER TABLE 表名 [ ADD 字段名 数据类型 | DROP 字段名 ] 其中,ADD表示向表中增加新字段,DROP表示删除表中的已有字段。 例如, ALTER TABLE 产品 ADD 类别ID INTEGER 该命令向“产品”表中增加一个“类别ID”字段,并指定该字段的数据类型为整数型。 又如, ALTER TABLE 产品 DROP 单价 该命令从“产品”表中删除已经存在的“单价”字段。 注意,在使用ALTER TABLE命令删除表中已有字段的同时,会删除该字段中的数据。

25 2.4.1 使用数据定义语言创建表 (3)DROP TABLE命令。使用该命令将删除已有表。该命令格式为: DROP TABLE 表名
例如, DROP TABLE 产品 该命令将删除“产品”表。 注意,DROP TABLE命令将删除表及其中的数据。 另外,在DDL的命令中,所有标点符号均为英文输入状态下输入的标点符号,其中的英文保留字必须在半角状态下输入。

26 2.4.2 在查询的SQL视图中运行数据定义语言 通过运行数据定义语言中的命令,可以在数据库中创建表、修改已有表的结构或删除已有表。
【练习2-4(P30)】在查询的SQL视图中依次逐条运行以下4条命令,并在运行每条命令的前后观察数据库中表的变化情况。 CREATE TABLE 产品 (产品ID INTEGER, 产品名称 TEXT(40), 单位数量 TEXT(8), 单价 CURRENCY, PRIMARY KEY (产品ID)) ALTER TABLE 产品 ADD类别ID INTEGER ALTER TABLE 产品 DROP 单价 DROP TABLE 产品 操作步骤: (1)启动Access,并建立一个空数据库。 (2)打开新建查询的SQL视图。

27 2.4.2 在查询的SQL视图中运行数据定义语言 (3)在查询的SQL视图中输入如下CREATE TABLE命令:
CREATE TABLE 产品 (产品ID INTEGER, 产品名称 TEXT(40), 单位数量 TEXT(8), 单价 CURRENCY, PRIMARY KEY (产品ID)); 注意,在输入CREATE TABLE命令中的标点符号时,必须切换到英文输入状态。 (4)在查询的SQL视图中运行CREATE TABLE命令。 (5)观察CREATE TABLE命令创建的表及其结构。

28 2.4.2 在查询的SQL视图中运行数据定义语言 (6)在查询的SQL视图中输入并运行ALTER TABLE命令。
ALTER TABLE 产品 ADD类别ID INTEGER; (7)观察ALTER TABLE命令对已有表的结构进行的修改。 (8)在查询的SQL视图中输入并运行第二条ALTER TABLE命令。 ALTER TABLE 产品 DROP 单价; (9)观察第二条ALTER TABLE命令对已有表的结构进行的修改。 (10)在查询的SQL视图中输入并运行DROP TABLE命令。 DROP TABLE 产品; (11)观察DROP TABLE命令的运行对数据库的影响。

29 2.5 通过导入外部数据创建表 在计算机系统中,数据可能以多种格式和形式存放在外部存储设备中——可能是一个文本文件,可能是Microsoft Excel电子表格文件中的工作表,也可能是某个Access数据库中的一个表。 一个Access数据库,可以将以其他格式和形式存储的数据作为外部数据源,并导入到本数据库中,同时创建相应的表。 【练习2-5(P32)】从Excel电子表格文件(Demo-2.xls)的“订单”工作表中导入数据。

30 2.5 通过导入外部数据创建表 操作步骤: (1)启动Access,建立一个空数据库。
(2)在菜单栏中,选择并执行“文件”|“获取外部数据”|“导入”命令,打开“导入”对话框。 (3)启动“导入数据表向导”。 (4)按照“导入数据表向导”窗口的提示逐步进行操作。 ①在电子表格文件中选中外部数据所在的工作表。 ②确定字段名。 ③确定将外部数据保存到新表中。 ④建立索引字段。 ⑤确定新建表的主键。 ⑥确定新建表的表名。 (5)浏览导入的数据。

31 2.5 通过导入外部数据创建表 在上述“导入数据表向导”第④步的窗口中,我们在“订单ID”字段上建立了索引(Index)。
在一个二维表中,可以基于单个字段或多个字段创建索引,索引有助于在二维表中快速查找和排序记录。 在二维表中使用索引来查找数据(或记录),就像在汉语字典中使用索引来查找汉字一样方便和快捷。

32 2.6 小结 在关系型数据库中,数据存放在二维表当中。 在二维表中,行称为记录(或元组),列称为字段(或属性)。
在二维表中,主键能够唯一地标志关系中的记录。 使用关系模式,可以描述关系及其包含的字段。 根据数据的存储形式和处理方法,不同的字段可以使用相应的数据类型。 Access数据库中,在设计视图中设计表是创建表的灵活方法。 使用数据定义语言(Data Definition Language,DDL)也可以实现RDBMS的数据定义功能。 作为一个开放式的RDBMS,Microsoft Access能够支持与其他类型的外部数据源进行数据交换。这些外部数据源可以是文本文件或另一个Access数据库中的表,也可以是Microsoft Excel电子表格文件中的工作表。Access提供了将这些外部数据导入当前数据库的方法,并同时生成相应的新表。


Download ppt "第2章 数据定义功能 创建表 在关系型数据模型中,表(Table)是最基本的数据结构。"

Similar presentations


Ads by Google