数据库系统工程师:笔记分享SQL语言8.3数据库定义

yumo6669个月前 (04-04)技术文章141

SQL语言

8.3数据库定义

8.3.1 基本域类型

  • char(n):固定长度字符串
  • varchar(n):可变长度字符串,表示最多可以有n个字符的字符串
  • int:整型,也可以用integer
  • smallint:短整型
  • numeric(p,d):定点数p为整数位,d为小数位
  • real:浮点型
  • double precision:双精度浮点型
  • float(n):n浮点型
  • boolean:布尔型
  • date:日期型
  • time:时间型



8.3.2创建表

create table<表名>(<列名><数据类型><列级完整性约束条件><表级完整性约束条件>)

列级完整性约束条件:有NULL(空)not NULL(不为空)和unique(取值唯一);

例子:create table sc(Sno char(5),Cno char(5),grade smallint()

primary key (Sno,Cno) 主键(主码)

foreign key (Sno) references S(Sno)外码

foreign key (Cno) references C(Cno)

)

8.3.3 修改表和删除表

alter table<表名>(ADD<列名><数据类型><完整性约束条件>)
(modify<列名><数据类型>)
(drop<列名>或<数据类型>

drop table 删除表



8.3.4 创建和删除索引

  • 索引是表中一列或者若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单

索引的作用

  • 通过索引创建唯一索引,保证数据记录的唯一性
  • 大大加快数据检索速度
  • 加速表与表之间的连接
  • 在使用order by 和 group by字句中进行检索数据,减少查询时间
  • 使用索引,提供系统性能

索引的分类

  • 聚集索引:指索引表中索引项的顺序与表中记录的物理顺序一致的索引
  • 非聚集索引

建立索引

create 【unique】【cluster】index 索引名 on 表名 列名 ASC(升序)/DESC(降序),默认ASC
unique:表明索引的每一个索引值只对应唯一的数据记录
cluster:表明建立聚族索引
例子:create unique index Sno-Cno on sc (Sno asc , Cno desc)

删除索引

drop index 索引名



8.3.5 视图创建和删除

1、视图的作用

  • 视图不是真实存在的基本表是虚拟表
  • (1)集中数据、简化、和定制用户对数据库的不同数据要求
  • (2)视图可以屏蔽数据的复杂性,方便用户使用和管理数据
  • (3)视图使用用户关心他特定的数据和任务
  • (4)视图大大简化用户对数据的操作
  • (5)视图让用户不同的方式看到不同或相同的数据
  • (6)方便应用程序使用
  • (3)视图提供简单而有效的安全机制

2、视图的创建

create view 视图名 (列表名)
as select 查询子句
【with check option】

例子:create view cs-student
as select Sno ,Sname ,Sage ,Sex from student with check option

视图必须遵循的规定

  • 1、子查询可以是任意复杂的select语句,但不允许含有order by字句和distinct短语
  • 2、with check option表示对update、inster、delete操作时保证更新、插入或删除的行满足视图定义中的谓词条件
  • 3、组成视图的属性列名或者全部省略或者全部指定

3、视图的删除

drop view 视图名


相关文章

数据库设计(一)基本概念

数据库环境数据库系统主要目的是为用户提供数据的抽象视图,而隐藏数据存储和操作的细节。设计的起点应该是将要存储到数据库中的信息的概要和一般描述,我们只对建模感兴趣,建模的三大要求:实体(员工、车辆)、属...

SQL——数据库基本概念

本文以MySQL数据库、以数据库管理工具DBeaver为例介绍数据库基本概念。数据库:数据库是一系列表的集合,表之间存在主外键关系。数据库通常指关系型数据库。表:表是由多个字段组成的用于存储数据的集合...

数据库系统原理:概念模型

概念模型是对现实世界的第一层抽象,用于信息世界建模。概念模型:为正确直观地反映客观事物及其联系,按用户观点对数据和信息建立的模型。概念模型的特点:(1)是独立于计算机系统的模型。(2)用于建立信息世界...

数据库设计规范

1 编写目的本文的目的是提出针对Oracle数据库的设计规范,使利用Oracle数据库进行设计开发的系统严格遵守本规范的相关约定,建立统一规范、稳定、优化的数据模型。参照以下原则进行数据库设计:1)...