数据库简介

 

       文章参考书目为机械工业出版社出版的《数据库系统基础教程》,介绍过程中以关系型数据库为主,是以一种通用的数据库语言来说明数据库建设原理方式等问题,后期会有文章具体实践加入诸如MySQL,xml,mongodb等实际操作。

 

数据库,指的是数据库管理系统DBMS管理的数据集合,需要具有以下功能:

  1. 允许用户使用特殊的数据定义语言建立新的数据库
  2. 支持合适的查询语言或者数据库操作语言提供查询,更新数据等能力
  3. 支持超大数据的长时间有效存储
  4. 面对故障或者错误情况下,保证恢复数据的一致性
  5. 控制多用户对数据的同时存取,不允许相互影响,不允许不完整操作

 

数据库关系模型

1、关系:用来描述数据的方法,是一张二维表,例如以下就是一个关系的例子,关系名字为人员

姓名

性别

年龄

籍贯

李四

15

王二

16

张三

14

2、属性:关系的列命名为属性,比如上面关系的属性名分别为姓名、性别、年龄、籍贯

3、模式:关系名与其属性集合的组合,例如上面的关系模式为:人员(姓名、性别、年龄、籍贯)

4、元组:关系中除了属性名行外的其他行为元组,例如上述关系的一个元组为(李四,男,15,汉)

5、键:一种基本的约束,通过键可以区分不同的元组,直白的理解就是键可以作为一个元组的标识,用来区分彼此

 

SQL中的三种关系

  1. 表:在数据库中存储的一种关系,用户可以通过表对元组进行查询和更新
  2. 视图:通过计算定义的关系,但并不在数据库中存储,这里作为了解
  3. 临时表:在执行处理程序时构造的临时表,处理结束后会被删除

 

SQL系统支持的数据类型

  1. CHAR(n)表示最大为n个字符的固定长度字符串,未满会以空格填充;VARCHAR(n)表示最大为n字符串的可变长字符串,以一个结束符结尾,但不会填充。
  2. BIT(n),BIT VARYING(n)表示固定和可变长的位串,与字符串区别在于值由比特组成而非字符串
  3. BOOLEAN表示逻辑类型值,其值可能为:TURE、FALSE、UNKNOWN
  4. INT,INTEGER表示整数值,两者为同义词
  5. FLOAT、REAL表示浮点数值,两者为同义词
  6. DECIMAL(n,d)表示n位有效数字的十进制数,其中含有d位小数
  7. DATA,TIME表示时间类型,本质为字符串的特殊形式

 

表定义

关系定义举例:

CREATE TABLE Movies(

title    CHAR(100),

data    DATE,

length  INT,

addr    VARCHAR(30)

)

删除关系:DROP TABLE Movies;

修改关系为增加一个属性:ALTER TABLE Movies ADD year INT;

修改关系为删除一个属性:ALTER TABLE Movies DROP year;

定义关系时增加默认值:title CHAR(100) DEFAULT ‘?’,

键的声明关键字为PREIMARY KEY以及UNIQUE,区别在于UNIQUE可以使用NULL值

声明方式有两种:第一种直接在在属性后面说明,例如title CHAR(100) PRIMARY KEY,另一种是在定义的最末行直接定义,例如title CHAR(100) , PRIMARY KEY (title)

 

关系代数操作

  1. 常用的操作,并、交、差
  2. “选择”消除元组行的操作,“投影”消除元组列的操作
  3. 组合关系元组的操作,“笛卡尔积”“连接”等
  4. “重命名”不影响关系元组,只是名称改变

       这其中有不合适或者不正确的地方欢迎指正,我的QQ号码:2867221444(乔金明),谢谢,也可以相互交流下,备注信息随意,只要能看得出是开发者或者学习者即可。

你可能感兴趣的:(数据库)