- 1、本文档共43页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 关系数据库 1 关系数据结构及形式化定义 2 数据的定义(SQL语言) 关系的完整性 关系操作 关系数据的定义 SQL语言 数据的定义 SQL概述 SQL(Structured Query Language) 结构化查询语言,是关系数据库的标准语言 SQL是一个通用的、功能极强的关系数据库语言 SQL语言功能概述 二、数据类型 SQL中域的概念用数据类型来实现 定义表的属性时 需要指明其数据类型及长度 选用哪种数据类型 取值范围 要做哪些运算 二、数据类型 数据定义 数据库的定义 数据库定义的语法格式: CREATE DATABASE 数据库名 数据库的删除 数据库删除的语法格式: DROP DATABASE 数据库名 定义基本表 使用SQL语言中的CREATE TABLE语句实现,其一般格式为: CREATE TABLE 表名( 列名 数据类型 [列级完整性约束定义] {, 列名 数据类型 [列级完整性约束定义] … } [, 表级完整性约束定义 ] ) 关系模式 学生(学号,姓名,性别,年龄,所在系) 课程(课程号,课程名,学分) 选课(学号,课程号,成绩) 关系 学生表Student [例5] 建立“学生”表Student,学号是主码。 CREATE TABLE Student (Sno CHAR(10) PRIMARY KEY,/* 列级完整性约束条件*/ Sname CHAR(8) , Ssex CHAR(2), Sage SMALLINT, Sdept CHAR(15) ); 课程表Course [例6] 建立一个“课程”表Course CREATE TABLE Course ( Cno CHAR(6) PRIMARY KEY, Cname CHAR(20), Ccredit SMALLINT, ); 学生选课表SC [例7] 建立一个“学生选课”表SC CREATE TABLE SC (Sno CHAR(10), Cno CHAR(6), Grade SMALLINT, PRIMARY KEY (Sno,Cno), ); 在列级完整性约束定义处可以定义的约束 NOT NULL:限制列取值非空。 PRIMARY KEY:指定本列为主码。 FOREIGN KEY:定义本列为引用其他表的外码。使用形式为: [FOREIGN KEY(外码列名)] REFERENCES 外表名(外表列名 ) UNIQUE:限制列取值不重复。 CHECK:限制列的取值范围。 DEFAULT:给定列的默认值。 约束定义 ① 列取值非空约束 列名 类型 NOT NULL 例:sname char(10) NOT NULL 约束定义(续) ② 表主码约束 在定义列时定义主码(仅用于单列主码) 列定义 PRIMARY KEY 例: SNO char(7) PRIMARY KEY 在定义完列时定义主码(用于单列或多列主码,表级约束) PRIMARY KEY (列名序列) 例: PRIMARY KEY(SNO) PRIMARY KEY(SNO,CNO) 约束定义(续) 指明本表外码列引用的表及表中的主码列。 约束定义(续) ④默认值约束 格式:DEFAULT 默认值 例:定义系的默认值为“计算机系”。 DEFAULT ‘计算机系’ 约束定义(续) ⑤CHECK约束 格式:CHECK (约束表达式) 例:定义成绩大于等于0。 CHECK ( grade = 0 ) 约束定义(续) ⑥UNIQUE约束 在列级约束定义(仅用于单列约束) 列定义 UNIQUE 例: SNAME char(7) UNIQUE 在表级约束定义(用于单列或多列组合约束) UNIQUE (列名序列) 例: UNIQUE (SNO,CNO) 关系 创建学生表 CREATE TABLE Student ( Sno char ( 7 ) PRIMARY KEY, Sname ch
文档评论(0)