- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
-数据库原理和应用第二版-第4章SQL语言基础和数据定义功能
第 4章 SQL语言基础及数据定义功能 ;4.1 基本概念;4.1.3 SQL语言功能概述 ;4.2 SQL的数据类型;;4.2.3 日期时间类型
专门的日期时间类型,格式为月/日/年 时:分:秒。有两种:
Datetime和smalldatetime两种。
Datetime能表示:占用8个字节空间,1753年至9999年。
Smalldatetime能表示:占用4个字节空间,1900年到2079年。
输入日期时:
Oct 25 2001 /*英文数字格式*/
2001-10-15或2001/10/15 /*数字加分隔符格式*/ /*纯数字格式*/
输入时间时:
2001-10-15 3:22:45 PM /*12小时格式*/
2001-10-15 15:22:45 /*24小时格式*/
;4.3 数据定义功能 ;其中:
表名:所要定义的基本表的名字。
列名:表中所包含的属性列的名字。
数据类型指明列的数据类型。
在定义表的同时可以定义与表有关的完整性约束条件。如果完整性约束只涉及到表中的一个列,则可以在列级完整性约束定义处定义,也可以在表级完整性约束定义处定义;如果完整性约束条件涉及表中多个属性列,则必须在表级完整性约束定义处定义。;在列级完整性约束定义处可以定义如下约束:
NOT NULL:限制列取值非空
DEFAULT:给定列的默认值,使用形式为:
DEFAULT 常量
UNIQUE:限制列取值不重
CHECK:限制列的取值范围,使用形式为:
CHECK(约束表达式)
PRIMARY KEY:指定本列为主码
FOREIGN KEY:定义本列为引用其他表的外码。
使用形式为:
[FOREIGN KEY (列名)] REFERENCES 外表名(外表列名) ;但有些约束必须在表级约束处定义:
第一,如果CHECK约束是定义多列之间的取
值约束;
第二,如果表的主码由多个列组成;
第三,如果在表级完整性约束处定义外码,
则FOREIGN KEY和列名均不能省,
且列名必须用括号括起来。即:
PRIMARY KEY (列1 {[,列2]…}) ;用SQL语句创建Student表;用SQL语句创建Course表;用SQL语句创建SC表;2、删除表
删除表的语句格式为:
DROP TABLE 表名 {[,表名] … }
例:删除test表的语句为:
DROP TABLE test;4.3.2 修改表结构
Server的ALTER TABLE语句的部分格式:
ALTER TABLE 表名
[ALTER COLUMN 列名 新数据类型]
|[ADD 列名 数据类型 [属性]
|[DROP COLUMN 列名 ]
|[ADD constraint 约束名 约束定义]
|[DROP constraint 约束名 ];例1.为SC表添加“修课类别”列,此列的定义为:XKLB char(4)
ALTER TABLE SC
ADD XKLB char(4) NULL
例2.将新添加的XKLB的类型改为char(6)。
ALTER TABLE SC
ALTER COLUMN XKLB char(6)
例3.删除Course表的Period列
ALTER TABLE Course
DROP COLUMN Period;4.4 数据完整性;4.4.1 完整性约束条件的作用对象
完整性约束条件的作用对象可以是表、元
组和列。
(1)列级约束
对数据类型的约束:包括数据类型、长度、精度等。
对数据格式的约束:如规定学号的前两位表示学生的入学年份,第三位表示系的编号,第四位表示专业编号,第五位代表班的编号等等。
对取值范围或取值集合的约束:如学生的成绩取值范围为0~100。
对空值的约束:列是否允许为空。;(2)元组约束
元组的约束是元组中各个字段之间的联系
的约束,如:借阅日期 应还日期。
(3)关系约束
关系约束是指若干元组之间、关系之间的
联系的约束。比如学号的取值不能重复也不能
取空值,学生修课表中的学号的取值受学生表
中的学号取值的约束等。;4.4.2 实现数据完整性
实现完整性一般是在服务器端完成的。
方法有两种:一种是在定义表时声明数据完整
性;另一种是在服务器编写触发器来实现。
实体完整性(PRIMARY KEY)
引用完整性(FOREIGN KE
文档评论(0)