一、数据库概念与SQL语言基础——定义表、添加、修改约束

第一章 数据库

1、DDL数据定义语言

2、DML数据操作语言

3、程序与数据相互独立

逻辑独立性

物理独立性

第二章 数据库系统结构

1、数据模型三要素

数据的基本结构、数据的约束条件(静态特征)

数据的操作(动态特征)

2、E-Rentity-relationship)实体-联系模型

3、组织层数据模型

表、行、列(关系、元组、属性),n列即为n元关系

4、数据完整性

实体完整性:必须有主码(主属性,非主属性)

参照完整性:外码

用户定义完整性:约束

5、三级模式结构

内模式、概念模式、外模式

6、数据字典:存储数据库中各关系(表)的属性的表。

第三章 SQL语言基础

1、语言功能

SQL功能

动词

操作对象

数据定义

CREATEDROPALTER

表、视图

数据查询

SELECT

数据

数据操作

UPDATEINSERTDELETE

数据

数据控制

GRANTREVOKE

操作权限

 

2、数据类型

Charvchar:普通字符编码(8000

ncharnvarchar:统一字符编码(4000

textntext:文本

binaryvarbinary:二进制字符数据,最大长度均为(8000

Image:可变长二进制字符数据

3、编码方式

普通字符编码:英文1字节,汉字2字节

统一字符编码(unicode):全为2字节

4、时间类型

Datetime: 8字节,1753——9999

Smalldatetime:4字节,1900——2079

5、基本表的定义与删除

约束:表级、列级完整性约束

列级完整性约束:

NOT NULL

DEFAULT:默认值

UNIQUE:唯一值(可以为空)

CHECK:取值范围

PRIMARY KEY

FOREIGN KEY

(红色标注也可为表级完整性约束)

(1)定义基本表

CREATE TABLE Course

(

Cno char(5) PRIMARY KEY (Cno),

Cname varchar(10) ,

Credit int,

Semester int

)

(2)定义外码约束

FOREIGN KEY (<列名称>) REFERENCES <外表名>(<外表列名>)

CREATE TABLE SC

(

Sno char(7) NOT NULL,

Cno char(20) NOT null,

Grade smallint,

primary key (Sno,Cno),

foreign key (Sno) references student(Sno), --一次只能引用一个外键

foreign key (Cno) references Course(Cno)

)

(3)删除表

DROP TABLE tablename

(4)修改表

ALTER TABLE tablename

ALTER COLUMN 列名 新数据类型

ADD 列名 数据类型 约束

DROP COLUMN 列名

ADD [constraint 约束名约束定义

DROP [constraint] 约束名

6、数据完整性

完整性约束的对象:表、元组、列

方法:

定义时声明、服务器端编写触发器

1)主键约束

ALTER TABLE tablename

ADD [constraint PK_name] 

PRIMARY KEY (lieName……)

(2)UNIQUE约束

ALTER TABLE tablename

ADD [constraint UQ_name] 

UNIQUE (lieName……)

(3)外码约束

ALTER TABLE tablename

ADD [constraint FK_name] 

foreign key (Sno) references student(Sno)

(4)DEFAULT约束

ALTER TABLE tablename

ADD [constraint DF_name] 

DEFAULT 默认值FOR 列名

(5)CHECK约束

ALTER TABLE tablename

ADD [constraint CK_name] 

CHECK (逻辑表达式)

如:

CHECK (工资>1000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值