赞
踩
1. 简述数据库设计三个范式的含义?
第一范式确保每列的原子性
第二范式要求每个表只描述一件事情
第三范式要求表中各列必须和主键直接相关,不能间接相关
2. MySQL默认的端口是多少?默认的超级用户是什么?翱翔机房超级用户密码是什么?如何启动mysql?
3306 root root net start mysql
3. MySQL常用的存储引擎有哪些?有何区别?
MyISAM、InnoDB
名称 | InnoDB | MyISAM |
---|---|---|
事务处理 | 支持 | 不支持 |
数据行锁定 | 支持 | 不支持 |
外键约束 | 支持 | 不支持 |
全文索引 | 不支持 | 支持 |
表空间大小 | 较大约2倍 | 较小 |
适用场合
使用MyISAM: 不需事务,空间小,以查询访问为主
使用InnoDB: 多删除、更新操作,安全性高,事务处理及并发控制
4. 请说明在MySQL中如何限定查询结果显示的条数。
MySQL查询语句中使用LIMIT子句限制结果集条数
5. 想要开发一个投票管理系统,请根据下面的需求,按照数据库设计的步骤,绘制出ER图。
投票类型有单选和多选
多选投票可以显示选择的数量
每个投票有多个选项组成
需要记录每个人的投票记录
参考的表设计:
投票类型:编号、类型名称
投票:编号、投票主题、投票类型、选择数量
选项:编号、选项名称、投票编号
用户表:编号、用户名、密码等等
投票记录:编号、用户编号、投票编号、选项编号、投票日期
6. 简述在需求分析阶段、概要设计阶段和详细设计阶段设计数据库的步骤。
需求分析阶段:分析客户的业务和数据处理需求
概要设计阶段:设计数据库的E-R模型图,确认需求信息的正确和完整
详细设计阶段:应用三大范式审核数据库结构
7. 什么是E-R图?在数据库设计中的作用是什么?
E-R图:数据库设计的图形化表达方式。以此为模板设计数据库。
8. 请写出设计数据库的三大范式。
第一范式确保每列的原子性
第二范式要求每个表只描述一件事情
第三范式要求表中各列必须和主键直接相关,不能间接相关
9. 举例说明in与exists关键字在子查询中的应用场合。
in 确定给定的值是否与子查询或列表中的值相匹配。in在查询的时候,首先查询子查询的表,然后将内表和外表做一个笛卡尔积,然后按照条件进行筛选。所以相对内表比较小的时候,in的速度较快。
exists 指定一个子查询,检测行的存在。遍历循环外表,然后看外表中的记录有没有和内表的数据一样的。匹配上就将结果放入结果集中。
10. 什么是存储过程?用什么来调用?
存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次SQL,使用存储过程比单纯SQL语句执行要快。
使用call命令调用
11. 什么是触发器?触发器的作用?它的触发事件和触发时机都有哪些?
触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由个事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。
触发事件 : insert,delete, update
触发时机 : after, before
12. 索引的作用?和它的优点缺点是什么?
创建索引可以大大提高系统的性能:
1.通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。
2.可以大大加快数据的检索速度,这也是创建索引的最主要的原因。
3.可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。
4.在使用分组和排序 子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。
5.通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。
13. 什么叫视图? 创建视图的好处有哪些?
视图是一种查看数据库中一个或多个表中数据的方法。视图是一种虚拟表,通常是作为来自一个或多个表的行或列的子集创建的。
作用: 1. 数据库视图隐藏了数据的复杂性。 2. 数据库视图有利于控制用户对表中某些列的访问。 3. 数据库视图使用户查询变得简单。
14. 什么是事务?它的特性有哪些?
事务时作为单个逻辑工作单元执行的一系列操作。一个逻辑工作单元必须有4个属性,即原子性、一致性、隔离性及持久性。
15. drop,delete与truncate的区别
1、delete 和 truncate 仅仅删除表数据,drop 连表数据和表结构一起删除,truncate 会初始化自增列的初始值
2、delete 是 DML 语句,操作完以后如果没有不想提交事务还可以回滚,truncate 和 drop 是 DDL 语句,操作完马上生效,不能回滚
3、执行的速度上,drop>truncate>delete
16. 写出3种以上mysql数据库常用的数据类型
int,float,double,decimal,char,varchar,date,datetime
17. 写出3种以上的mysql约束,并介绍
普通索引
基本索引类型
允许在定义索引的列中插入重复值和空值
唯一索引
索引列数据不重复
允许有空值
主键索引
主键列中的每个值是非空、唯一的
一个主键将自动创建主键索引
复合索引
将多个列组合作为索引
全文索引
支持值的全文查找
允许重复值和空值
空间索引
对空间数据类型的列建立的索引
18. Mysql的自增和sqlserver的自增有什么区别
mysql:auto_increment
sqlserver:identity(1,1)
mysql的自增列允许手动更改
sqlserver的自增列不允许手动更改
19. 写出常用的模糊查询和常用的匹配符
like in between
% | 替代 0 个或多个字符 |
---|---|
_ | 替代一个字符 |
[charlist] | 字符列中的任何单一字符 |
[^charlist] 或 [!charlist] | 不在字符列中的任何单一字 |
20. 简单介绍外键约束
MySQL 外键约束(FOREIGN KEY)用来在两个表的数据之间建立链接,它可以是一列或者多列。一个表可以有一个或多个外键。
21. 简单介绍子查询
子查询指一个查询语句嵌套在另一个查询语句内部的查询,在 SELECT 子句中先计算子查询,子查询结果作为外层另一个查询的过滤条件,查询可以基于一个表或者多个表。
22. 哪个关键字可以按指定行数返回查询结果集,每页显示3条数据,显示学生表第2页数据怎么写。
limit
select * from student limit 3,3
23. 查询多表数据,可以使用那些方式来查询
内连接 拼接查询结果 内部有联系,使用内连接 格式: [inner] join
外连接 以某一张表为基表 进行相关查询 left/right [outer] join
交叉连接 连接查询 cross join
自然连接 natural join 自然连接
24. 写出创建视图的语法
CREATE
VIEW house.view_name
AS
(SELECT * FROM ...);
25. 写出事务的4个特性
26. 创建数据库schoolDB。如果数据库schoolDB已存在,那么,先删除再创建。
drop datebase if exists schoolDB;
create datebase schoolDB;
27. 根据表结构,创建4张表。如果该表已存在,则先删除再创建该表。
DROP TABLE IF EXISTS `course`;
CREATE TABLE `course` (
`cid` int(4) NOT NULL AUTO_INCREMENT,
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。