按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
据库的详细的描述 包括 表 字段 视图 索引 存储过程 触发机制等等 一个完备
的数据字典中应该有对数据库中的每一个内容的详细注释 每当你对数据库进行过修改以
后你都应及时的更新数据字典
在使用数据库处理语句时 设计一个好的数据库是非常重要的 把数据分组逻辑组并
建立主关键字以使其它的逻辑组正确地识别它 可以使用外部关键字来指向该表的主关键
字或在该表中用外部关键字与其它的表相关联
我们已经知道了建立数据库语句不是一个数据库系统的必需内容 因为不同的数据库
供应商有不同的数据库组织形式 每一种解释器都有它们自己的特点和选项 从而导致了
建立数据库语句的截然不同 只使用 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
………………………………………………………