您的位置:首页 > 数据库

大一数据库系统概论期末复习参考

2016-06-28 12:24 405 查看
大一数据库系统概论期末复习参考

1.2 数据模型
数据模型:数据库系统的核心和基础
由数据结构、数据操作和数据完整性约束条件组成
分为两类数据模型,第一类概念模型、第二类是逻辑和物理模型
常用的数据模型:
层次模型
网状模型 统称为格式化模型
关系模型 逐步替代格式化模型
面向对象数据模型
对象关系模型
半结构化数据模型
关系模型:
数据操作包括查询、插入、删除和更新数据 操作必须满足关系的完整性约束条件
关系的完整性约束条件:
实体完整性、参照完整性和用户定义的完整性

1.3、数据库系统的结构
数据库系统内部的系统结构:通常采用三级模式结构
外模式、模式和内模式
数据库系统外部体系结构:单用户结构、主从式结构、分布式结构、客户-服务器、浏览器-应用服务器/数据库服务器多层结构
数据模型中有 型和值 的概念
模式是数据库中全体数据的逻辑结构和特征的描述
模式相对稳定、实例是相对变动的
模式反映的是数据的结构及其联系
实例反映的是数据库某一时刻的状态
2.1、关系数据结构
主码:若干个候选码中,选定其中一个,作为主码
关系可以有三种类型:基本关系 查询表 视图表
关系的描述称为:关系模型 R(U,D,DOM,F)
主键是唯一标识
2.2、关系操作
关系模型中常用的关系操作:查询操作、更新操作(插入、删除、修改)
关系的查询操作可分为5种基本操作:选择、投影、并、差、笛卡尔积
关系操作特点:集合操作(一次一集合)方式 操作对象和结果都是集合
SQL 结构化查询语言:集查询、数据定义语言、数据操纵语言和数据控制语言于一体的关系数据语言

2.3、试题集
SQL SERVER 2008中 能够获取系统当前日期和时间的函数是(GETDATE)
数据操纵语言(DML)insert delete update select(增删改查)
向用户授予权限的SQL语句是 GRANT 移除权限是REVOKE
SELECT语句中模糊查询的关键字是 LIKE
权限转授给其它用户 WITH GRANT OPTION
3、SQL结构化查询语言
 创建数据库
create database DB
on primary(
name='DB_test',
filename='F:\database\DB_test.mdf',
--数据库主文件后缀名.mdf
size=3mb,
filegrowth=1mb
)log on(
name='log_test',
filename='F:\database\log_test.ldf',
--日志文件后缀名.ldf
size=3mb,
filegrowth=1mb,
maxsize=10mb
);
创建表
use DB;
create table test(
stuID bigint not null,--学号
stuName nvarchar(20) not null,--姓名
stuSex nchar(1),--性别
stuBirth datetime,--出生日期
stuNum nvarchar(18) not null,--身份证号
Departed int,--系号
City nvarchar(10) default '成都',--城市,设置默认值为成都
stuTelphone char(11),--电话
constraint pk_stuID primary key(stuID),--主键约束
constraint ck_stuSex check(stuSex in('男','女')),--检查约束
constraint uq_stuNum unique(stuNum)--唯一约束
);

use DB;
create table test1(
stuID bigint,--学号
foreign key(stuID) references test(stuID)
--stuID是外码,被参照表是test
);

修改基本表
添加列
alter table test1
add stu int;
删除列
alter table test1
drop column stu;
修改列
alter table test1
alter column stu char(11);
删除基本表
Drop table test1 CASCADE(无条件删除该表)
RESTRICT(删除该表有限制条件)
 数据操纵语言SQL
1、通配符 % 和 _ 以及转码字符 \
% 表示任意长度的字符串
_ 单独占位一个字符
Select Name
From Student
Where cName LIKE ’DB\_Design’ESCAPE’\’;

2、消除取值重复的行 distinct
Select DISTINCT Sno
From SC;

3、涉及空值的查询(IS 和 IS NOT)
Select Sno
From SC
Where Grade IS NULL ; -- IS不可用=号代替

4、查询按升序ASC和降序 DESC(ORDER BY)

5、外键加上级联删除
Constraint FK_sno foreign key(sno) references Student(S#)on delete cascade

6、权限授予
授予全部权限给所有用户
Grant all privileges
On Student
To public;
授予用户U增删改查权限并且可授予给其它用户
Grant insert,delete,update,select
On Student
To U
With grant option;

7、回收权限
Revoke insert,delete,update,select
On Student
From U;
8、触发器的应用
Create trigger tri1
On Student
For update
As if update(grade)
If exists(select * from inserted,deleted
Where inserted.sno = deleted.sno
And inserted.grade>=60 and deleted.grade<60)
Rollback;
9、增删改查
Insert into Student values();

Delete from Student
Where id = 1 ;

Update Student
Set name=’zhangsan’
Where id = 2;

Select * from Student;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  SQL server 数据库