sql复习
- 格式:doc
- 大小:79.00 KB
- 文档页数:5
1、数据库系统的组成2、数据库(DB)、数据库管理系统(DBMS)、数据库系统(DBS)的概念数据库(Database,DB)数据库是统一管理并长期储存在计算机内有结构的大量共享的数据集合。
数据库管理系统(Database Managements System,DBMS)数据库管理系统是位于用户与操作之间的一层数据管理软件。
数据库在建立、运用和维护时由数据库管理系统统一管理、统一控制。
目前,商品化的数据库管理系统以关系模型为主.数据库系统(Database System DBS)数据库系统是指在计算机系统中引入数据库之后的系统构成,一般由数据库、数据库管理系统、应用程序和用户构成。
3、数据库系统管理数据特点:数据是集成的、共享的。
数据冗余度低。
数据独立性好。
数据结构化,易于按用户的视图表示。
4、Transact-SQL语言主要组成部分①数据定义语言(DDL,Data Definition Language)Create 、DROP、ALTER语句②数据操纵语言(DML,Data Manipularion Language)SELECT、INSERT、DELETE、UPDATE③数据控制语言(DCL,Data Control Language)GRANT、REVOKE④系统存储过程(System Stored Procedure)5、常见约束a)NULL/NOT NULL(空值约束/非空值约束)b)DEFAULT (默认值约束) :为某列设置默认值c)UNIQUE(惟一值约束)d)CHECK(检查约束) :限制或确定某列的取值范围e)PRIMARY KEY(主键约束) :为关系表设置主键f)FOREIGN KEY(外键约束) :为关系表设置外键6、DDL实例【例3.2.2】要在当前数据库StudentsInfo中的定义一个表,表名为Students,表中各列的要求见表3-1。
定义该表的SQL语句:方法一:CREATE TABLE Students (Sno CHAR (10 ) PRIMARY KEY,Sname CHAR ( 8 ) NOT NULL,Ssex CHAR (1) NOT NULL CHECK (Ssex = 'F' OR Ssex = 'M'),Sage INT NULLSdept CHAR (20 ) DEFAULT 'Computer ')方法二:CREATE TABLE Students (Sno CHAR (10 ) ,Sname CHAR ( 8 ) NOT NULL,Ssex CHAR (1) NOT NULL ,Sage INT,Sdept CHAR (20 ) DEFAULT 'Computer ' ,PRIMARY KEY(Sno),CHECK (Ssex = 'F' OR Ssex = 'M'))除空值/非空值约束外,其他约束都可定义一个约束名,用CONSTRAINT <约束名>来定义,例如:方法三:CREATE TABLE Students (Sno CHAR (10 ) ,Sname CHAR ( 8 ) NOT NULL,Ssex CHAR (1) NOT NULL ,Sage INT,Sdept CHAR (20 ) DEFAULT 'Computer ' ,CONSTRAINT SPK PRIMARY KEY(Sno),CONSTRAINT CK CHECK (Ssex = 'F' OR Ssex = 'M') )【例3.2.4】要在当前数据库StudentsInfo中的加入Enrollment表,表中各列的要求见表3-3。
定义该表的SQL语句:方法一:CREATE TABLE Enrollment(Sno CHAR(10) NOT NULL,Cno CHAR(6) NOT NULL,Grade INT,CONSTRAINT EPK PRIMARY KEY ( Sno, Cno ),CONSTRAINT ESlink FOREIGN KEY (Sno) REFERENCES Students ( Sno ), CONSTRAINT EClink FOREIGN KEY (Cno ) REFERENCES Courses ( Cno ) )方法二:CREATE TABLE Enrollment(Sno CHAR(10) NOT NULL FOREIGN KEY ( Sno) REFERENCES Students ( Sno ), Cno CHAR(6) NOT NULL FOREIGN KEY ( Cno ) REFERENCES Courses( Cno ), Grade INT,PRIMARY KEY ( Sno, Cno ))方法三:CREATE TABLE Enrollment(Sno CHAR(10) NOT NULL REFERENCES Students ( Sno ),Cno CHAR(6) NOT NULL REFERENCES Courses( Cno ),Grade INT,PRIMARY KEY ( Sno, Cno ))7、修改表结构ALTER TABLE <表名>[ ALTER COLUMN <列名> <数据类型>]| [ ADD <列名> <数据类型>| [ DROP COLUMN <列名> ]| [ ADD CONSTRAINT <约束名> <约束定义>| [ DROP CONSTRAINT <约束名> ]例题看ppt8、删除表结构DROP TABLE <表名>9、数据查询(题目见实验及ppt)(1)基于比较运算符的查询(2)基于BETWEEN…AND的查询基本形式:列名BETWEEN 下限值AND 上限值等价于:列名>=下限值AND列名<=上限值(3)基于LIKE的查询LIKE运算符的一般形式为:列名LIKE <模式串>模式串中可包含如下四种通配符,它们的含义是:_:匹配任意一个字符。
注意,在这里一个汉字或一个全角字符也算一个字符。
如'_u_'表示第二个字符为u或U,第一、第三个字符为任意字符的字符串%:匹配任意0个或多个字符。
如'S%'表示以S开头的字符串[ ]:匹配[ ]中的任意一个字符。
如[SDJ ][^ ]:不匹配[ ]中的任意一个字符。
如[^SDJ ](4)基于NULL空值的查询(5)使用统计函数的查询注意:掌握如何为一列设置别名(6)ORDER BY子句指定整个SELECT语句的输出结果中记录的排序依据。
ORDER BY排序子句的格式为:ORDER BY <列名> [ASC | DESC ] [ ,… n ]其中<列名>指定排序的依据,ASC表示按列值升序方式排序,DESC表示按列值降序方式排序。
如果没有指定排序方式,则默认的排序方式为升序排序。
(7)多表连接10、统计函数(聚合函数)的含义及使用方法11、视图的操作:(1)视图与基本表的区别(2)视图的创建基本格式:实例看ppt及实验(3)视图的操作包括视图的查询、添加、删除和修改操作。
(4)视图的优点12、关系图其实是在企业管理器中设置外键,换句话讲,即在不同表的字段之间建立关联13、数据库设计中各个阶段的任务(1)理解概念设计阶段的任务(2)E-R模型:反映现实世界中实体及实体间联系的信息模型(3)二元联系的三种联系类型(4)各种联系转换成关系模式的规则14、规范化(重点及难点)(1)函数依赖函数依赖、部分函数依赖、完全函数依赖、传递函数依赖候选键的定义(2)1NF、2NF、3NF必须理解定义6.6:如果一个关系R的所有属性都是不可再分的基本数据项,则称关系R属于第一范式,记作R 1NF。
定义6.7:如果关系R ∈1NF,并且关系R的每一个非主属性不部分依赖于候选键,则R 属于第二范式,记作:R∈2NF。
将1NF分解成2NF的方法:(1)用组成候选键的属性集合的每一个非空子集作为主键构成一个新关系;(2)对于每个新关系,将完全依赖或传递依赖于此主键的属性放置到此关系中。
定义6.8:如果关系R∈2NF,且每一个非主属性都不传递依赖于候选键,则R属于第三范式,记作R∈3NF。
将2NF分解成3NF的方法:(1)对于不是候选键的每个决定因子,从原关系中删去依赖于它的所有属性;(2)对原关系中不是候选键的每个决定因子,新建一个关系,新关系中包含依赖该决定因子的属性;(3)将该决定因子加入新关系并作为新关系的主键。
(3)看课堂上讲的例题15、存储过程(1)存储过程的分类:(2)存储过程的创建格式CREATE PROCEDURE ……(3)存储过程的实例创建一个存储过程,实现返回学生的姓名、所学课程名和课程成绩。
Create proc x1AsSelect Sname, Cname,Grade From S,C,SCWHERE S.S#=SC.S# AND C.C#=SC.C#16、索引的分类( 1 ) 聚簇索引(2)非聚簇索引(3)唯一索引(4)复合索引。