SQL的数据定义功能.pptx

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
;SQL生成数据库的那一部分语言叫做数据定义语言(DDL—Data Definition Language),用来生成、修改、删除关系数据库的基本要素的部分。它提供完整定义数据库模式所必需的全部内容及数据库生成后的结构修改、删除等功能。这里的定义包括对表的定义,对视图的定义及对索引的定义等等。;定义基本表的语句格式 CREATE TABLE <表名>(<列名1> <数据类型1> [NOT NULL] [,<列名2> <数据类型2> [NOT NULL]……]) ;[其他参数]; 其中CREATE TABLE后跟要定义的表的名称,列名和数据类型中给出表的逻辑数据结构定义,即表中的列命名、数据类型选择并给出是否允许空值。各列名信息之间用逗号相隔,列名与类型说明之间、类型说明与是否允许空值之间用空格相隔。任选项“其他参数”与具体系统有关,这里不作说明。 ;表结构的修改 当需要贮存的信息结构发生变化时,用户可能需要改变原先表的定义,这就必须要修改表。SQL提供了在表定义中增加列的ALTER TABLE语句。 语句格式: ALTER TABLE <表名> ADD <列名> <数据类型>; 此语句用来在已有表的右边增加一列。其中在ALTER TABLE后面的表名指定为哪个表增加列,ADD后面指定增加的列名及其数据类型,在这里不需要指定NOT NULL,对于增加的列都允许放置空值。当该命令执行后,原表中增加一列,并且系统为原表中所有行在该列的值均置以空值,真实数据加入时要使用UPDATE语句或交互方式下输入。 ;例如:ALTER TABLE S ADD ADDRESS CHAR(30); 该例为S表增加了一个ADDRESS(地址)列。 尽管SQL提供了为一个表增加一列的语句,它并没有提供删除表的列、改变列名或改变列的数据类型的语句。因此,如果要这么做,那就必须生成一个新的表。 ;删除一个表 当某些表不再有用时,就应该把它们从数据库中删除掉。用DROP TABLE语句可以删除一个表。 语句格式: DROP TABLE <表名>; 执行此命令将删除由表名指定的表的数据,并从系统数据字典中删除有关该表的全部描述。在该表上定义的索引和视图也自动撤消。; 视图的定义 在3.1.1节已经提到,视图是一个虚??,即它自身并不独立存在,但在用户看来好像是存在的。它不像表,视图没有自己独立存储的数据,因此它是依赖于表的存在而存在的。 定义视图的语句格式: CREATE VIEW <视图名> [(<列名1>[,<列名2>…])] AS(SELECT命令); ;视图的定义就是把某一查询结果作为一个新的表“存储”起来。当需要时,对该视图可以进行查询与修改。实际上,执行CREATE VIEW语句的结果是把视图的定义存入系统数据字典中,定义中的SELECT语句(将在数据操纵功能一节介绍)并不执行,而要到对该视图进行操作时才执行。使用此语句必须注意以下几点: ;视图名是要定义的视图的名字,同表名一样,要经常用到。 语句中的SELECT语句作为子查询将以虚拟表的形式得出结果。SELECT子查询中不能使用ORDER BY子句,也不能包含UNION(合并有类似结构的表的关系代数并操作符)操作,子句FROM <表名>中的表名既可以是表,也可以是视图,即视图既可以根据表,也可以根据其他视图来定义。 ;在视图定义中可以包括连接,因此在SELECT子查询的FROM子句中可带多个表,连接后抽取用户所需要的列来组成一个视图。 所定义的视图可以另行指定列名,也可以不指定。如果不指定列名就意味着该视图中各列的列名与语句中的SELECT子查询所得到的列名相同。如果在语句中给出列名,就按其顺序与SELECT中所选列相对应。注意,若SELECT子查询中的目标列是内部函数、算术表达式或常数,或者在连接生成的目标列中有用表名前缀区别的重名列出现,这时就必须在定义视图时给出列名。 ;1.2 视图;视图的优点 视图对于数据库的重构造提供了一定程度的逻辑独立性。 简化了用户观。 视图机制使不同的用户能以不同的方式看待同一数据。 视图机制对机密数据提供了自动的安全保护功能。;索引是关系数据库非常重要的部分。它们被用作包含所关心数据的表指针。通过一个索引,能从表中直接找到一个特定的记录,而不必连续顺序地扫描这个表,一次一个记录地去查找。对于大的表来说,索引是必要的。没有索引,要想得到一个结果可能要等好几个小时、好几天,而不是几秒钟时间。 生成的索引也可以被撤消,大多数的产品通过增加DROP INDEX命令到SQL中来提供索引撤消功能。所谓索引撤消,除了删除由撤消命令中索引名指定的索引文件外,还要从系统数据字典中删除有关

文档评论(0)

151****7975 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档