一写sql语句技巧(其实就是类似做汉英翻译)
(1)判断sql语句类型 四种(常考前三种)
DDL(数据定义语言) create drop alter (add drop modify)
DQL(数据查询语言) select(最多)
DML(数据操纵语言)insert into(插入) update set(更新) delete(删除)
DCL(数据控制语言)grant(授权)revoke(回收)
create table语句示例:
drop table 语句示例:
alter 语句示例:
2 关于DML语句的写法
略
3 关于DQL语句的写法
第三 四问:
① 涉及到几张表(这就是from要加的表名)
②找中心词(部门 )
③找定语(女员工 平均订单额大于十万)
定语的实现方法:
where having
④再细化定语(平均)
聚集函数
⑤状语
order by 列名(desc)
答案:
select dept from employee ,sales where employee.emp_no=sales.emp_no and sex = '女' group by dept having(avg(tot_amt)>1000);
select cust_name from customer,sales where customer.cust_id = sales.cust_id and tot_amt > 2000;
4 关系代数表达式实现
可以参考:https://www.jianshu.com/p/cea2e509f640
5 存储过程
create procedur a
@emp_name varchar(20)
as
select tot_amt from employee,sales where emp_name = @emp_name
and employee.emp_no = sales.emp_no;
exec a 'DBA'
二 属性集的闭包的求法以及候选键的判断
三 ER图和怎么判断范式
2 ER
2 主外键的设置
3 范式的判断
1NF
2NF=1NF+部分依赖:
要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性
3NF=2NF+传递依赖:
第三范式就是属性不传递依赖于其它非主属性。
4 完整性约束
又称行完整性,
要求在表中不能存在完全相同的行,
而且每行都要具有一个非空且又不重复的主键值。
—参照完整性:
又称引用完整性,
指表间的规则,作用于有关联的两个或两个以上的表,
通过使用主键和外键(或唯一键)之间的关系,
使表中的键值在相关表中保持一致。
—用户自定义完整性:
指针对某一具体关系数据库的约束条件,
它反映某一具体应用所涉及的数据必须满足的语义要求。
sql约束性分为实体完整性,参照完整性,用户定义完整性,删除约束
create table arms{
arms_name varchar(20),NOT NULL
product_time date,DEFAULT NULL
primary key(arms_name)
CONSTRAINT fk_arms_ship FOREIGN KEY (sid) REFERENCES category (ship_id)
}ENGINE=InnoDB DEFAULT CHARSET=utf8;