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

yumo6661个月前 (04-04)技术文章18

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 视图名


相关文章

mariadb数据库设计基础概念

1.数据库设计数据库设计是构建高效、可维护数据库的关键步骤,而范式是数据库设计中的规范化理论,用于减少数据冗余和提高数据一致性。数据库设计通常包括以下步骤:需求分析:了解业务需求,确定数据存储和访问需...

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

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

1.数据库相关概念及系统结构

一、数据库相关概念1、视图:是一个虚拟表,其内容由查询定义(仅保存在SQL查询语句)同真实的表一样,视图也有一系列的行列数据,但是视图并没有真正存储这些数据,而是通过查询原始表,动态生成所需要的数据。...

数据库模型怎么画?5个步骤完成数据库模型图

数据库模型是数据库的抽象,也是数据库的核心以及基础。数据库模型描述的内容包括有数据结构,数据操作和数据的约束条件。数据结构用来描述数据的类型,内容,性质,以及数据之间的关系;数据操作主要是描述在数据结...

项目经验[类目]:数据库设计基础(一)

数据库架构研发是一个非常庞大的基础性工作,我主要是根据项目研发过程当中设计数据库的项目经验与大家做一下分享,分享议题主要由几个方面组成,数据库设计基础经验(一)、数据库设计原则设计经验(二)、数据库测...