摘要:数据库定义 (一)创建表: CREATE TABLE <表名>(<列名><数据类型>[列级完整性约束]
>>>>>数据库系统工程师历年真题
>>>>>数据库系统工程师网络课程
>>>>>数据库系统工程师视频课程
2016年软考数据库系统工程师知识点详解:数据库定义
数据库定义
(一)创建表: CREATE TABLE <表名>(<列名><数据类型>[列级完整性约束]
[,<列名><数据类型>[列级完整性约束]]...
[,<表级完整性约束条件>]);
其中列级完整性约束条件有:NULL和UNIQUE。
例1,建立一个供应商和零件数据库。其中供应商表S(Sno,Sname,Status,City)的属性分别表示供应商代码、姓名、状态、所在城市。“零件”表P(Pno,Pname,Color,Weight,City)的属性分别表示零件号、零件名、颜色、重量及产地。其中数据库要满足这样的要求:
1)供应商代码不能为空,且值是惟一的,供应商名也是惟一的;
2)零件号不能为空,且值是惟一的。零件名不能为空;
3)一个供应商可以供应多个零件,而一个零件可以由多个供应商供应。
解:供应商与零件之间需要建立一个关系模式,二者之间是一个多对多的关系,新生成的关系模式的码应该是供应商的码和零件表的码,以及二者联系的属性构成。如SP(Sno,Pno,Qty) Qty表示数量。
CREATETABLES(SnoCHAR(5)NOTNULLUNIQUE,
SnameCHAR(30)UNIQUE,
StatusCHAR(8),
CityCHAR(20)
PRIMARYKEY(Sno));
CREATETABLEP(PnoCHAR(6)NOTNULLUNIQUE,
PnameCHAR(30)NOTNULL,
ColorCHAR(8),
WeightNUMERIC(6,2),
CityCHAR(20)
PRIMARYKEY(Pno));
CREATETABLESP(SnoCHAR(5),
PnoCHAR(6),
QtyNUMERIC(9)
PRIMARYKEY(Sno,Pno),
FOREIGNKEY(Sno)REFERENCESS(Sno),
FOREIGNKEY(Pno)REFERENCESP(Pno));
(二)修改表和删除表
ALTER TABLE <表名>[ADD<新列名><数据类型>[完整型约束条件]]
[DROP <完整性约束名>]
[MODIFY <列名><数据类型>]
DROP TABLE <表名>
(三)定义和删除索引
数据库中的索引就是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的指针清单。作用如下:
通过创建惟一的索引,可以保证数据记录的惟一性;
加快数据检索速度;
加速表与表之间的连接,由其在实现数据的参照完整性方面有特别意义;
在使用ORDER BY ,GROUP BY语句时可以明显地减少计算时间;
使用索引可以在检索数据的过程中使用优化隐藏器,提高系统性能。
分为聚集索引和非聚集索引
聚集索引,对表的物理数据页中的数据按列进行排序,然后再重新存储到磁盘上,叶子节点中存储的是实际数据;
非聚集索引,具有完全独立于数据行的结构,不必对物理数据页中的数据按列排序,叶子节点存储的是组成非聚集索引的关键字和行定位器。
建立索引:CREATE [UNIQUE][CLUSTER] INDEX <索引名>
ON <表名>(<列名>[<次序>][,<列名>[<次序>]]...);
其中次序可选ASC,DSC,默认为ASC
UNIQUE表明此索引的每一个索引值只对应惟一的数据记录。
CLUSTER表示要建立的索引是聚簇索引,即索引项的顺序是与表中记录的物理顺序一致的索引组织。
几个例子: CREATEUNIQUEINDEXS-SNOONS(Sno);
CREATEUNIQUEINDEXP-PNOONP(PNO);
CREATEUNIQUEINDEXSPJ-NOONSPJ(SNOASC,PNODESC,JNOASC)。
删除索引: DROP INDEX <索引名>
(四)定义、删除、更新视图
视图的创建:CREATE VIEW 视图名 (列表名)
AS SELECT 查询子句
[WITH CHECK OPTION];
其中查询子句可以是任意复杂的select语句,但一般不能出现orderby,distinct。
WITH CHECK OPTION,表示在对视图进行更新、插入或删除操作时,要保证满足子查询中的条件表达式。
例如CREATE VIEW CS-STUDENT
AS SELECT SNO,SNAME,SAGE,SEX
FROM STUDENDS
WHERE SD=‘CS’
WITH CHECK OPTION;
其中使用了withcheckoption,所以在对视图插删操作时,要保证SD=‘CS’的条件成立。
视图的删除:DROP VIEW 视图名
相关推荐:
>>>>>数据库系统工程师培训视频教程
>>>>>数据库系统工程师考试考前串讲
软考备考资料免费领取
去领取