数据库:
dbms:数据库管理系统,软件。
db:数据库系统(硬件+软件)。
数据发展的四个阶段:
层次模型–>网状模型–>关系型–>面向对象数据库
什么叫做E-R图:
实体关系图。
怎么绘制E-R图:
概念模型–>物理模型–>sql导出。
学号 姓名 年纪 1 白 18 2 白2 28 3 白3 38
键:可以标志1条记录的字段。
主键:从键中挑选中1个。
复合主键:主键由两个或两个以上字段组成。
金额 出厂年代 市值 1分 53 5000 1分 90 10 1分 2000 1分 (金额+年代)
范式的作用?去除冗余。
范式1: 原子性。每个字段都不可再分。“地址” “地址及性别”。
范式2: 唯一性。表有主键,
范式3: 非主键间不存在依赖关系。
学号 姓名 班级编号 班级名 1 白 s01 1年纪1班
范式并不是越高越好:表的关联变多,费内存;丢失历史数据。
sql的英文全称:structured query language。结构化查询语言。
ddl:创建/删除逻辑对象。create database;create table;drop .
DML:select /update/insert/delete/truncate
DCl:grant/revoke/deny
delete,drop,truncate的区别:
delete 删除where条件的记录。
drop :删除整个表结构,包含约束,日志,触发器。
truncate:截断表的所有数据,包含日志。但不删除表结构及约束,触发器。
如何写1条sql语句创建备份表?
select * from 表1 into 表2. insert (select * from 表1) into 表2。
sql servler: 写出5种约束的语句。 alter Book add constraint PK_BOOK_BID primary key(bid); alter Book add constraint UK_BOOK_BNAME unique(bname) ; alter Book add constraint DF_BOOK_BNUM default '5' for BNUM ; alter Book add constraint CK_BOOK_BNUM check(bnum>=0); alter book add constraint FK_BOOK_BTYPE_BTID foreign key(btid) references BOOKTYPE(BTID);
TSQL是什么:Transaction-SQL.微软对sql的增强语法。
go/if/while/begin end/ declare @i int; while (1=1) then begin set @i = 1; set @i = @i+1; if (i = 2) then break; end go;
go的作用是什么?标志批处理的结尾。create/DROP语句后一定要加go.
TSQL:从数据库中获取值赋给变量的方法
存储过程的作用:1 预编译–》提高执行速度 2 节省网络报文 3 将常用的sql操作模块化 4 安全。
存储过程两种返回值方法:return/出参. 出参返回: create proc findAge @id int -- 入参 @age int out--出参 as begin select @age=age from Person where id=@id; end; return返回 create proc findAge @id int -- 入参 as declare @age int; begin select @age=age from Person where id=@id; return @age;--只能返回整型 end;
如何调用存储过程(sql语句/jdbc中调用):
Exec 存储过程名 入参1,入参2.。 jdbc:CallableStatement(专门调用存储过程的对象) statement --基类(一般用来做查询) PreparedStament--(预编译速度快,一般用来做修改和ddl)
视图的作用和限制(不能包含什么关键字):
a 让字段容易理解 b 安全 ,不能包含order by。最好只做查询。 create view Person_VIEWS asbegin select top 500 * from person; end;
索引的作用和分类:提高查询 速度。唯一索引;非聚集索引,聚集索引(索引顺序与数据的物理顺序相同,只能1个)。
只能创建1个的索引是什么?
事务:数据库操作的逻辑最小单元,这些操作要么同时成功,要么同时失败。
四个特性:acid–原子性 一致性 隔离性(5种级别,最高是serial串行化,默认是read-commited)。 持久性。
两种事务:
隐式事务–只跑一条sql语句。
显式事务:begin transaction
rollback;
commmit;
触发器: 事后触发:create triger XXX on 表名 for update. 需要调用rollback语句撤销原来行为。 两张临时表inserted .deleted 事前触发:create triger XXX on 表名 instead of update/delete/insert. 无需调用rollback语句撤销原来行为。