SQL实验四 视图、序列、同义词和索引.docVIP

  • 143
  • 0
  • 约2.54千字
  • 约 8页
  • 2018-06-30 发布于河北
  • 举报

SQL实验四 视图、序列、同义词和索引.doc

SQL实验四 视图、序列、同义词和索引

第一部分:SQL实验四PAGE 264 应用于Web的面向对象关系型数据库:Oracle实验4,第 PAGE 1页SQL实验四 视图、序列、同义词和索引实验目标:创建视图创建序列插入值时在表中使用序列创建同义词创建索引4.1 视图视图是一个虚拟表,其内容是借助于查询从表中获取的。在这些表中所作的更改自动反映在视图中。语法如下:CREATE VIEW viewname ASSELECT statement;注意:ORDER BY 不能与视图一起使用。实验4- SEQ 实验4- \* ARABIC 1 建立“上海”客户的视图,并取名“Customer_sh”。上面的查询创建一个名为“Customer_sh”的视图。创建视图之后,您可像查看任何表一样查看该视图。请给出如下所示的语句:实验4- SEQ 实验4- \* ARABIC 2 建立一个名为Order_Sh的包含所有上海客户订单信息的视图,要求在该视图中包括各客户的公司名称、订单代号和订购日期等属性列。 实验4- SEQ 实验4- \* ARABIC 3 删除名为 Customer_sh的视图。练习4- SEQ 练习4- \* ARABIC 1 建立一个名为Avg_price的视图,其中包括产品的类别代号及平均价格两项。4.2 序列序列用来生成可用作主键的唯一整数。语法如下:CREATE SEQUENCE sequencenameINCREMENT BY nSTART WITH m;sequencename 是创建的序列的名称;n 是指定的递增数,默认值是 1;m 是序列的开始数。实验4- SEQ 实验4- \* ARABIC 4 创建名从3开始、步长为1、名为“seqno”的序列。上面的查询创建名为“seqno”的序列,我们也可以在创建序列之后插入值。格式如下: INSERT INTO tablename(sequence column number, columnnames) VALUES (sequence name.NEXTVAL, values);Sequence column number 是您生成序列编号的列名称Column names 是表的其他列。实验4- SEQ 实验4- \* ARABIC 5 假定数据库中有一个名为new_ptype的表,其结构和数据如下图所示:请给出如下所示的语句:说明:上面的INSERT语句在new_ptype表中插入了一个Tno为3的记录,因为序列SEQNO是从3 开始的。实验4- SEQ 实验4- \* ARABIC 6 给出如下所示的语句可删除创建的序列。4.3同义词同义词是 Oracle 对象的别名。此对象可以是表、视图、程序、函数或另一个同义词。同义词不是实际对象,而是对对象的参考。同义词非常有用,这是因为它们隐藏参考的对象的身份。在重命名对象或修改对象的情况下,这十分有用,因为这样就只需要重新定义同义词。这有助于缩短在项目中所花费的重新编译和修改时间。创建同义词的语法如下:CREATE SYNONYM synonymnameFOR tablename实验4- SEQ 实验4- \* ARABIC 7 创建一个名为“new”(新)的同义词,该同义词参考Customer表。请给出如下所示的语句:上面的查询中创建的同义词可通过给出下列语句进行查看。SELECT * from new;要删除上面创建的同义词,请给出如下语句。DROP SYNONYM new;4.4 索引(INDEXES)索引有助于更快地进入表中的列。索引还可以避免输入到列中的值产生重复现象。语法如下:CREATE INDEX indexnameON tablename(columnname)实验4- SEQ 实验4- \* ARABIC 8 创建一个名为 idx 的、关于City字段的、Customer表的索引。请给出如下所示的语句:练习4- SEQ 练习4- \* ARABIC 2在Orders表中的Order_date列上创建一个名为 idx 索引,观察会发生什么情况。这会显示一条出错信息,显示 “name already used by an existing object”(该名称已由现有对象使用)。因此,需要创建一个具有某个其他名称的索引。可以为多个列创建索引。 这样的索引称为“Composite Indexes”(复合索引)。 实验4- SEQ 实验4- \* ARABIC 9 假定我们要在Customer表中的 City 列和 Company 列上创建一个名为“comp”的索引,请给出如下所示的语句:给出下列语句可删除索引。DROP INDEX indexname实验4- SEQ 实验4- \* ARABIC 10 删

文档评论(0)

1亿VIP精品文档

相关文档