《数据库维护》PPT课件.ppt

上传人:牧羊曲112 文档编号:5519554 上传时间:2023-07-16 格式:PPT 页数:29 大小:659.50KB
返回 下载 相关 举报
《数据库维护》PPT课件.ppt_第1页
第1页 / 共29页
《数据库维护》PPT课件.ppt_第2页
第2页 / 共29页
《数据库维护》PPT课件.ppt_第3页
第3页 / 共29页
《数据库维护》PPT课件.ppt_第4页
第4页 / 共29页
《数据库维护》PPT课件.ppt_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《《数据库维护》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《数据库维护》PPT课件.ppt(29页珍藏版)》请在三一办公上搜索。

1、数据库原理及应用,MySQL基础知识部分,The technology and practice of Database 2009,Vience Yin|Fayea Studio|Friday,August 24,2009,数据库定义功能,数据库原理及应用 The technology and practice of Database,Vience Yin|Fayea Studio|Friday,August 24,2009,DDL语言(Data Description Language)描述数据库中的各个元素,学习要点,理解并掌握MySQL数据库维护语法理解表与实体关系的对应MySQL数据类

2、型对象表的建立、修改,关系数据模式,数据库DDL The theory OF Relation database,Vience Yin|Fayea Studio|Friday,August 24,2009,关系模型的形式化定义,关系名 R 符号化的元组语义一组属性 U属性组 U 中属性所来自的域 D属性到域的映射 DOM属性组 U 上的一组数据依赖 F(关系的外码),关系数据模式,数据库DDL The theory OF Relation database,Vience Yin|Fayea Studio|Friday,August 24,2009,关系模型的表形式,学号 使用英语字符转化为 s

3、tudent_id根据学号该属性的域确定数据类型学号 是实体关系中的候选码 标识为数据表的主键(Primary Key),MySQL数据类型 关系模式中的域(Domain),数据库DDL The theory OF Relation database,Vience Yin|Fayea Studio|Friday,August 24,2009,常见数值类型概述,TINYINT很小的整数。带符号的范围是-128到127。无符号的范围是0到255。BOOL,BOOLEAN是TINYINT(1)的同义词。zero值被视为假。非zero值视为真。在将来,将根据标准SQL引入完全布尔类型的处理。SMALL

4、INT小的整数。带符号的范围是-32768到32767。无符号的范围是0到65535。,MySQL数据类型 关系模式中的域(Domain),数据库DDL The theory OF Relation database,Vience Yin|Fayea Studio|Friday,August 24,2009,常见数值类型概述,MEDIUMINT中等大小的整数。带符号的范围是-8388608到8388607。无符号的范围是0到16777215。INT/INTEGER普通大小的整数。带符号的范围是-2147483648到2147483647。无符号的范围是0到4294967295BIGINT大整数

5、。带符号的范围是-9223372036854775808到9223372036854775807。无符号的范围是0到。,MySQL数据类型 关系模式中的域(Domain),数据库DDL The theory OF Relation database,Vience Yin|Fayea Studio|Friday,August 24,2009,常见数值类型概述,FLOAT(M,D)小(单精度)浮点数。M是小数纵位数,D是小数点后面的位数。如果M和D被省略,根据硬件允许的限制来保存值。单精度浮点数精确到大约7位小数位。DOUBLE(M,D)普通大小(双精度)浮点数。M是小数总位数,D是小数点后面的位

6、数。如果M和D被省略,根据硬件允许的限制来保存值。双精度浮点数精确到大约15位小数位。,MySQL数据类型 关系模式中的域(Domain),数据库DDL The theory OF Relation database,Vience Yin|Fayea Studio|Friday,August 24,2009,日期和时间类型概述,DATE日期。支持的范围为1000-01-01到9999-12-31。MySQL以YYYY-MM-DD格式显示DATE值,但允许使用字符串或数字为DATE列分配值。DATETIME日期和时间的组合。支持的范围是1000-01-01 00:00:00到9999-12-31

7、 23:59:59。MySQL以YYYY-MM-DD HH:MM:SS格式显示DATETIME值,但允许使用字符串或数字为DATETIME列分配值。,MySQL数据类型 关系模式中的域(Domain),数据库DDL The theory OF Relation database,Vience Yin|Fayea Studio|Friday,August 24,2009,日期和时间类型概述,TIMESTAMP时间戳。范围是1970-01-01 00:00:00到2037年。TIMESTAMP列用于INSERT或UPDATE操作时记录日期和时间。如果你不分配一个值,表中的第一个TIMESTAMP列

8、自动设置为最近操作的日期和时间。也可以通过分配一个NULL值,将TIMESTAMP列设置为当前的日期和时间。TIMESTAMP值返回后显示为YYYY-MM-DD HH:MM:SS格式的字符串,显示宽度固定为19个字符。如果想要获得数字值,应在TIMESTAMP 列添加+0。,MySQL数据类型 关系模式中的域(Domain),数据库DDL The theory OF Relation database,Vience Yin|Fayea Studio|Friday,August 24,2009,日期和时间类型概述,TIME时间。范围是-838:59:59到838:59:59。MySQL以HH:M

9、M:SS格式显示TIME值,但允许使用字符串或数字为TIME列分配值。YEAR两位或四位格式的年。默认是四位格式。在四位格式中,允许的值是1901到2155和0000。在两位格式中,允许的值是70到69,表示从1970年到2069年。MySQL以YYYY 格式显示YEAR值,但允许使用字符串或数字为YEAR列分配值。,MySQL数据类型 关系模式中的域(Domain),数据库DDL The theory OF Relation database,Vience Yin|Fayea Studio|Friday,August 24,2009,常见字符串类型,CHAR列的长度固定为创建表时声明的长度。

10、长度可以为从0到255的任何值。当保存CHAR值时,在它们的右边填充空格以达到指定的长度。当检索到CHAR值时,尾部的空格被删除掉。在存储或检索过程中不进行大小写转换。VARCHAR列中的值为可变长字符串。长度可以指定为0到65,535之间的值。(VARCHAR的最大有效长度由最大行大小和使用的字符集确定。整体最大长度是65,532字节)。VARCHAR值保存时不进行填充。当值保存和检索时尾部的空格仍保留,符合标准SQL。如果分配给CHAR或VARCHAR列的值超过列的最大长度,则对值进行裁剪以使其适合。,MySQL数据类型 关系模式中的域(Domain),数据库DDL The theory

11、OF Relation database,Vience Yin|Fayea Studio|Friday,August 24,2009,常见字符串类型,BINARY和VARBINARY类似于CHAR和VARCHAR,不同的是它们包含二进制字符串而不要非二进制字符串。也就是说,它们包含字节字符串而不是字符字符串。这说明它们没有字符集,并且排序和比较基于列值字节的数值值。BINARY和VARBINARY允许的最大长度一样,如同CHAR和VARCHAR,不同的是BINARY和VARBINARY的长度是字节长度而不是字符长度。,MySQL数据类型 关系模式中的域(Domain),数据库DDL The t

12、heory OF Relation database,Vience Yin|Fayea Studio|Friday,August 24,2009,常见字符串类型,BLOB和TEXTBLOB是一个二进制大对象,可以容纳可变数量的数据。有4种BLOB类型:TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。它们只是可容纳值的最大长度不同。有4种TEXT类型:TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT。这些对应4种BLOB类型,对应不同的最大长度和存储需求。,域决定数据类型,数据库DDL The theory OF Relation database,Vien

13、ce Yin|Fayea Studio|Friday,August 24,2009,对于数值类型的域,整数由需要存储数据的范围来决定数据类型固定长度的整数型数据可以使用固定长度的文本数据来代替,特别是大于10位的数字可以考虑使用文本对于候选码而言,尽量的使用数值类型,用以提高数据查询速度带小数的数据使用浮点或双精度数据类型存储根据需要存储数据的长度(整数位+小数位)来设定数据存储长度,域决定数据类型,数据库DDL The theory OF Relation database,Vience Yin|Fayea Studio|Friday,August 24,2009,整数类型的域数据类型选择,

14、以 TINYINT 为例,其使用场景针对很小的整数。带符号的范围是-128到127。无符号的范围是0到255。,存储2位数的数字,(0-99),则完全满足要求。如果需要存储3位数,则需要更大取值范围的 SMALLINT,域决定数据类型,数据库DDL The theory OF Relation database,Vience Yin|Fayea Studio|Friday,August 24,2009,文本类型的域数据类型选择,以中国各民族名称的罗马字母拼写法和代码 GB/T 3304-1991数据表为例。同时使用了 CHAR 和 VARCHAR 数据类型,分别针对固定长度的文本和用于可变长度

15、的文本存储。,固定长度文本民族代码 CHAR(2)NOT NULL民族简码 CHAR(2)NOT NULL可变长度文本拉丁名称 VARCHAR(24)民族名称 VARCHAR(12)NOT NULL,数据表的维护-DDL,数据库DDL The theory OF Relation database,Vience Yin|Fayea Studio|Friday,August 24,2009,定义数据表(关系模型),语法实例,CREATE TABLE t_nation(nation_id char(2)NOT NULL COMMENT 民族代码,nation_code char(2)NOT NUL

16、L COMMENT 民族简码,nation_symbols varchar(24)DEFAULT NULL COMMENT 民族罗马字母,nation_name varchar(12)NOT NULL COMMENT 民族名称,PRIMARY KEY(nation_id)ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT=GB/T3304-1991 中国各民族名称的罗马字母拼写法和代码,数据表的维护-DDL,数据库DDL The theory OF Relation database,Vience Yin|Fayea Studio|Friday,August 2

17、4,2009,定义数据表(关系模型),语法结构,CREATE TABLE tableName(columnName columnType comment PRIMARY KEY(columnName)ENGINE=storageEngineType DEFAULT CHARSET=charSet comment,数据表的维护-DDL,数据库DDL The theory OF Relation database,Vience Yin|Fayea Studio|Friday,August 24,2009,关系模型向数据库对象转化过程,例如当前的关系模式 学生(学号,姓名,性别,年纪,班级代码)转化

18、为数据库对象第一步 命名数据表使用 t_student 作为关系模型的数据表对象名称使用 t_ 前缀,表示当前数据库对象是一个数据表 TABLE使用全小写的英文字母,避免数据库操作时对于 Unix 操作系统大小写对象混淆使用 student 单词,尽量清楚的表述当前数据表存储对象,数据表的维护-DDL,数据库DDL The theory OF Relation database,Vience Yin|Fayea Studio|Friday,August 24,2009,关系模型向数据库对象转化过程,例如当前的关系模式 学生(学号,姓名,性别,年纪,班级代码)转化为数据库对象第二步 根据关系中的

19、各个属性取值范围,设定数据表字段学号 属性对应到数据表字段 stu_id int 属性的取值范围(属性的域):8位数字 存储方式可以使用固定长度文本和整数类型来存储,如果选择文本方式则使用 CHAR(8)如果选择整数类型,则要保证能够完整存储8个数字。显然 MEDIUMINT 带符号的范围是-8388608到8388607,不能够满足存储要求。需要使用 INT 类型来存储。,数据表的维护-DDL,数据库DDL The theory OF Relation database,Vience Yin|Fayea Studio|Friday,August 24,2009,关系模型向数据库对象转化过程,

20、例如当前的关系模式 学生(学号,姓名,性别,年纪,班级代码)转化为数据库对象姓名 属性对应到数据表字段 stu_name varchar(24)属性的取值范围(属性的域):不定长文本存储方式使用可变长度的文本来存储。预计姓名最长使用12个中文字符,也就是24个英文字符长度。性别 属性对应到数据库字段 stu_sex tinyint属性的取值范围(属性的域):男 或女使用 tinyint 字段来存储性别信息。其中 1 代表性别男 2 代表性别女,数据表的维护-DDL,数据库DDL The theory OF Relation database,Vience Yin|Fayea Studio|Fr

21、iday,August 24,2009,关系模型向数据库对象转化过程,DDL翻译结果,CREATE TABLE t_student(stu_id int NOT NULL COMMENT 学号,stu_name varchar(24)NOT NULL COMMENT 姓名,stu_sex tinyint NOT NULL DEFAULT 1 COMMENT 性别,stu_age tinyint NOT NULL COMMENT 年龄,class_id bigint NOT NULL,PRIMARY KEY(stu_id)ENGINE=InnoDB DEFAULT CHARSET=gbk COM

22、MENT=学生基本信息表,数据表的维护-DDL,数据库DDL The theory OF Relation database,Vience Yin|Fayea Studio|Friday,August 24,2009,删除数据表(关系模型),语法实例,DROP TABLE t_nation;DROP TABLE IF EXISTS t_nation;,语法结构,DROP TABLE(IF EXISTS)tableName,数据表的维护-DDL,数据库DDL The theory OF Relation database,Vience Yin|Fayea Studio|Friday,August

23、 24,2009,修改数据表(关系模型),语法结构,ALTER TABLE tableNameADD COLUMN columnName columnType comment MODIFY COLUMN columnName columnType commentDROP COLUMN columnNameADD PRIMARY KEY(columnName)DROP PRIMARY KEY,数据表的维护-DDL,数据库DDL The theory OF Relation database,Vience Yin|Fayea Studio|Friday,August 24,2009,修改数据表 添

24、加一个列,语法实例,ALTER TABLE t_student ADD COLUMN stu_name_was varchar(24)NOT NULL COMMENT 曾用名 AFTER stu_name,语义作用解释:向 t_student 表增加一个列,列名为 stu_name_was,类型为可变长度的文本,最大存储数据长度24个字符,要求此列不能为空值,使用“曾用名”作为添加列的备注。新增加的列的位置,紧靠着 stu_name 这个列后面。,数据表的维护-DDL,数据库DDL The theory OF Relation database,Vience Yin|Fayea Studio|

25、Friday,August 24,2009,修改数据表 修改一个列,语法实例,ALTER TABLE t_student MODIFY COLUMN stu_name_was varchar(24)COMMENT 曾用名 AFTER stu_age,语义作用解释:修改 t_student 表中列名为 stu_name_was 的列,修改后类型为可变长度的文本,最大存储数据长度24个字符,此列可以为空值,使用“曾用名”作为添加列的备注。并修改列在表中的顺序,紧靠着 stu_age 这个列后面。,数据表的维护-DDL,数据库DDL The theory OF Relation database,V

26、ience Yin|Fayea Studio|Friday,August 24,2009,修改数据表 删除一个列,语法实例,ALTER TABLE t_student DROP COLUMN stu_name_was,语义作用解释:删除 t_student 表中列名为 stu_name_was 的列。,数据表的维护-DDL,数据库DDL The theory OF Relation database,Vience Yin|Fayea Studio|Friday,August 24,2009,修改数据表 定义主键,语法实例,ALTER TABLE t_student ADD PRIMARY KEY(stu_id),语义作用解释:使用 stu_id 列的值做表 t_student 的主键,数据表的维护-DDL,数据库DDL The theory OF Relation database,Vience Yin|Fayea Studio|Friday,August 24,2009,修改数据表 删除主键,语法实例,ALTER TABLE t_student DROP PRIMARY KEY,语义作用解释:删除表 t_student 的主键,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号