八宝书库 > 文学其他电子书 > SQL 21日自学通(V3.0)(PDF格式) >

第41部分

SQL 21日自学通(V3.0)(PDF格式)-第41部分

小说: SQL 21日自学通(V3.0)(PDF格式) 字数: 每页4000字

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!






   INPUT/OUTPUT 



   SQL》DROP TABLE NEW_BILLS 



   Table dropped。 



分析 



   请注意    系统没有给出你提示  该命令不会问你 Are  you  sure?    Y/N  但是删除操作 



已经执行  表已经永远地删除了 



警告 



   如果你执行了 



SQL》 DROP TABLE NEW_BILLS 



   如果你想正确地删除一个表  那么在删除表的时候最好给出它的所有都                    所属的数据 



库  或工程的名字  推荐的使用方法如下 



   SQL》 DROP TABLE OWNER。NEW_BILLS 



   我只所以强调这种使用方法是因为我曾经挽救过一个被错误删除了的表格                     它被删除 



的原因是因为没有准确地给出其所属工程的名字  修复那个数据库用了八个小时  我们一 



直工作到了深夜 



DROP DATABASE 语句 



   一些数据库管理系统也提供了删除数据库  DROP  DATABASE           的语句  它的使用方 



法与 DROP TABLE 相同  语法如下 



   DROP DATABASE database_name 



   请不要删掉 BILLS 数据库     我们在今天的后边还要用它  而且在第 10 天也要用 



注  不同的关系数据库解释器提供了不同的删除数据库的方法  在数据库被删除以后                      我 



   们需要清理掉操作系统用以构建数据库的文件 



练习 9。2 



   创建一个数据库并在其中创建一个表  试验 DROP TABLE 和 DROP DATABASE 命令 



数据库系统是否会允许你这样做          单文件的数据库系统如 ACCESS  是不支持这个命令的 



数据库包含在一个单一的文件中          如果想建立一个数据库  你必须用系统提供的菜单选项 



如果想删掉它     只需简单地从系统中删掉这个文件就可以了 



                                                            189 


…………………………………………………………Page 190……………………………………………………………

SQL 21  日自学通(V1。0)                             翻译人 笨猪 



总结 



   第 9  天讲述了数据处理语言  DML  的主要内容  具体说来是你学习了五个新的语句 



CREATE DATABASE CREATE TABLE ALTER TABLE DROP TABLE DROP DATABASE 



在今天的课程中我们也讨论了一个好的数据库设计方案的重要性 



   当你在创建并设计一个数据库的时候数据字典是一个重要的文档资料  字典中有对数 



据库的详细的描述    包括  表  字段  视图   索引  存储过程  触发机制等等    一个完备 



的数据字典中应该有对数据库中的每一个内容的详细注释  每当你对数据库进行过修改以 



后你都应及时的更新数据字典 



   在使用数据库处理语句时     设计一个好的数据库是非常重要的       把数据分组逻辑组并 



建立主关键字以使其它的逻辑组正确地识别它  可以使用外部关键字来指向该表的主关键 



字或在该表中用外部关键字与其它的表相关联 



   我们已经知道了建立数据库语句不是一个数据库系统的必需内容            因为不同的数据库 



供应商有不同的数据库组织形式       每一种解释器都有它们自己的特点和选项        从而导致了 



建立数据库语句的截然不同      只使用 CREATE  DATABASE  database_name 可以在大多数系 



统中用默认的参数来创建一个默认的数据库        而 DROP  DATABASE 语句则可以永久地删 



除一个数据库 



   使用 CREATE  TABLE  语句可以建立一个新的表 使用该命令你可以建立字段并定义 



它们的数据类型    在一些数据库管理系统中你还可以指定字段的其它属性          例如是否它可 



以接受空值以及它的内容是否在本表中应该是唯一的  而 ALTER  TABLE 语句可以对已存 



在的表的结构进行修改  DROP TABLE 语句可以永久地删除一个表格 



问与答 



   问  为什么 CREATE DATABASE 语句在不同的数据库中使用方法是不同的 



   答 这是因为不同的数据库系统在建立数据库时的实际过程是不同的            基于 PC  机的 



     小型数据库系统通常依赖文件来建立某些应用程序          而在大型服务器上运行的分 



     布式数据库中的需用数据库文件通常是分布在多个磁盘驱动器上的             当你的代码 



     访问数据库的时候     运行于电脑上的数据库程序不会像访问你的磁盘上的文件那 



     样直接   更大的数据库系统还要对磁盘的空间进行估算以支持一些特性如安全性 



                                                   190 


…………………………………………………………Page 191……………………………………………………………

SQL 21  日自学通(V1。0)                                        翻译人   笨猪 



       传输控制以及内嵌于数据库的存储过程              当你的程序访问数据库时  数据库的服 



       务程序通常需要对你的请求          通常与其它的请求一起         经过复杂的中间过程才会 



       返回数据    这一主题将在第 3      周讨论   现在  你应该知道为什么不同的数据库系 



       统建立和管理数据库的方法不同的 



问  我能否建立一个临时表并且的工作完成后它会自动地删除 



答  可以    许多数据库管理支持临时表的概念  该类型的表可以在你的过程运行结束或你 



    使用 DROP TABLE 语句后删除  我们将在第 14 天的  动态应用 SQL          中讨论临时表 



问  我是否可以用 ALTER TABLE 语句来删除一个表 



答  不行    该语句只可以用来增加或修改表中的某一列               如果你想删除一列       你可以建立 



   一个新表并将旧表中的数据有选择地复制到新表中然后再删除旧表 



校练场 



   1   ALTER DATABASE 语句经常用在修改已有表的结构上  对不对 



   2   DROP TABLE 语句与 DELETE FROM  的作用是相同的  对不对 



   3   可以使用 CREATE TABLE 命令向数据库中加入一个新表           对不对 



   4   为什么下边的语句是错误的 



         INPUT 



                 CREATE TABLE new_table ( 



                 ID NUMBER 



                 FIELD1 char(40) 



                 FIELD2 char(80) 



                 ID char(40) 



   5   为什么下边的语句是错误的 



         INPUT 



                 ALTER DATABASE BILLS ( 



                 PANY char(80)) 



   6   当一个表建立时  谁是它的所有者 



   7   如果字符型列的长度在不断变化          如何才能做出最佳的选择 



   8   表名是否可以重复 



                                                                 191 


…………………………………………………………Page 192……………………………………………………………

SQL 21  日自学通(V1。0)                                    翻译人  笨猪 



练习 



   1  用你喜欢的格式向 BILLS       数据库中加入两个表         名字分别叫 BANK     和 



      ACCOUNT_TYPE  BANK 表中应该包含有 BANK_ACCOUNT     表中 BANK  字段 



      的 信 息   ACCOUNT_TYPE 表 中 也 应 该 包 含 有  BANK_ACCOUNT  表 中 



      ACCOUNT_TYPE 字段的信息  试着尽可以地减少数据的数量 



   2  使用你已经创建的五个表        BILLS BANK_ACCOUNTS  PANY   BANK 



      ACCOUNT_TYPE  改为表的结构以用整数型字段作为关键字以取代字符型字段 



      作为关键字 



   3  使用你所知道的 SQL 的归并知识 见第 6 天 表的归并          写几个查询来归并 BILLS 



      数据库中的几个表 



                                                           192 


…………………………………………………………Page 193……………………………………………………………

SQL 21  日自学通(V1。0)                                  翻译人  笨猪 



第 10 天  创建视图和索引 



目标 



   今天我们将要讨论的内容对于一些有 SQL 有一定了解的程序员或数据库管理人员来说 



可能是新东西     从第 1 天到第 8 天  我们主要学习了如何使用 SQL 在关系数据库中进行基 



本的工作  在第 9   天我们讨论了数据库的设计  表的创建以及其它的数据处理语句               所有 



这些内容的对象     表  数据库   记录   字段   的共同之处在于— — 它们是存在于磁盘上的 



物理对象    今天我们来学习 SQL  的两个新的特性  它允许你以于数据在磁盘上的存储不同 



的方式来显示数据  这两个特性就是记录和索引           到今天的结束  你将学习以下内容 



   l  如何区别索引与视图 



   l  如何创建视图 



   l  如何创建索引 



   l  如何用视图来修改数据 



   l  索引可以做什么 



   视图常常被称为虚表      它是用 CREATE  VIEW 语句来建立的  在视图建立以后你可以 



对视图采用如下命令 



   l  SELECT 



   l  INSERT 



   l  INPUT 



   l  UPDATE 



   l  DELETE 



   索引是与磁盘上数据的存储方式不同的另外一种组织数据的方法  索引的特例是表中 



记录依据其在磁盘上的存储位置显示  索引可以在表内创建一个列或列的组合                   当应用索 



引以后  数据会按照你使用 CREATE  INDEX  语句所定义的排序方式返回给用户           通过对 



正确的  特定的两个表的归并字段进行索引可以获得明显的好处 



   注  视图与索引是两个完全不同的对象          但是它们有一点是相同的       它们都与一个表 



或数据库相关联     尽管每一个对象只能与一个特定的表相关联            但它们还是通过对数据的 



                                                         193 


…………………………………………………………Page 194……………………………………………………………

SQL 21  日自学通(V1。0)                                              翻译人    笨猪 



预排序和预定义显著地提高了表的工作性能 



    注  在今天的例子中我们使用的是 PERSONAL ORACLE 7               对于你使用的解释器请参 



阅它的文档与找出它们在语法上的不同之处 



使用视图 



    你可以对封装的复合查询应用视图或虚表                  当对一组数据建立视图以后            你可以像处 



理另外一个表一样去处理视图  但是               在视图中修改数据时要受到一些限制                当表中的数 



据改变以后      你将会在查询视图时发现相应的改变  视图并不占用数据库或表的物理空间 



    CREATE VIEW 和语法如下 



    SYNTAX 



    CREATE VIEW  '(column1; column2。。。)' AS 



    SELECT  



    FROM  



    与通常一样      语法看起来不太容易使人明白  但是对于今天的内容我们有许多例子来 



展示视图的用法和优点           该命令通知 SQL 去创建一个视图  用你给出的名字  及其列                    如 



果你想指定的话         SQL 的 SELECT   语句可以判定列所对应的字段及其数据类型                  没错 



就是九天以来你一直使用的 SELECT 语句 



    在你用视图进行任何有用的工作之前               你需要对 BILLS     数据库再添加一些数据          如果 



你已经用 DROP DATABASE 语句对它进行了试验  那么你需要重新建立它 数据见表 10。1 



10。2 和 10。3 



    INPUTOUTPUT 



        SQL》 create database BILLS; 



        Statement processed。 



    INPUTOUTPUT 



    SQL》 create table BILLS ( 



        2      NAME  CHAR(30)  NOT  NULL; 



        3      AMOUNT  NUMBER; 



        4      ACCOUNT_ID  NUMBER  NOT  NULL); 



                                                                       194 


…………………………………………………………Page 195……………………………………………………………

SQL 21  日自学通(V1。0)                                                                     翻译人      笨猪 



     Table created。 



     INPUTOUTPUT 



     SQL》 create table BANK

返回目录 上一页 下一页 回到顶部 0 0

你可能喜欢的