关系数据库的层次结构可以分为四级:数据库(Database)、表(Table)与视图、记录(Record)和字段(Field),相应的关系理论中的术语是数据库、关系、元组和属性
数据库
类型划分
- 本地数据库:数据库驻留在本机驱动器或局域网中,如果多个用户并发访问数据库,则采取基于文件的锁定(防止冲突)策略
- 典型的本地数据库有Paradox、dBASE、FoxPro以及Access等
- 基于本地数据库的应用程序称为单层应用程序,因为数据库和应用程序同处于一个文件系统中。
- 远程数据库 :数据库通常驻留于其他机器中,用户通过结构化查询语言SQL来访问远程数据库中的数据;远程数据库又称为SQL服务器
- 来自于远程数据库的数据并不驻留于一个机器而是分布在不同的服务器上。典型的SQL服务器有InterBase、Oracle、Sybase、Informix、MicrosoftSQLServer,以及IBMDB2等。
- 基于SQL服务器的应用程序称为两层或多层应用程序,因为数据库和应用程序驻留在彼此不依赖的系统(层)中。
表
关系数据库的基本成分是一些存放数据的表(关系理论中称为“关系”)
数据库中的表从逻辑结构上看相当简单,它是由若干行和列简单交叉形成的,不能表中套表。
要求表中每个单元都只包含一个数据
视图
- what:一个查询所定义的虚拟表;视图其实没有改变任何事情,只是对访问的数据进行了某种形式的筛选。
- why :利用视图访问经过筛选和处理的数据,而不是直接访问基础表,在一定程度上也保护了基础表
- 只显示他们关心的数据;或者不给予用户访问基础表的权利;
- how :如果你要创建一个视图,为其指定一个名称和查询即可。Sql Server只保存视图的元数据,用户描述这个对象,以及它所包含的列,安全,依赖等。当你查询视图时,无论是获取数据还是更新数据,Sql server都用视图的定义来访问基础表;【如下为要求】
- 不能在视图定义中指定ORDER BY ,除非定义中包含Top或For Xml 说明;
- 所有的列必须有列名;
- 这些所有的列名必须唯一;
|
|
|
|
这表明视图绝不可能像只是直接运行底层SELECT语句那样快。不过,视图存在有一个原因–这就是它的安全性或为用户所做的简化,在你的需要和开销之间权衡,找到最适合特定情况的解决方案。
记录
- what:表中的一行称为一个记录。
- how :一个记录的内容是描述一类事物中的一个具体事物的一组数据
记录的集合(元组集合)称为表的内容,表的行数称为表的基数。
表名以及表的标题是相对固定的,而表中记录的数量和多少则是经常变化的
字段
- what:表中的一列称为一个字段。
- how :每个字段表示表中所描述的对象的一个属性;每个字段都包含了数据类型相同的一批数据,因此,字段名相当于一种多值变量。字段是数据库操纵的最小单位。