选择
数据库技术的基本概念与方法:
E-R图提供了表示信息世界中实体,属性和联系的方法
数据库系统的核心是数据库管理系统
E-R图是数据库设计的工具之一,它一般适用于建立数据库的概念模型
将E-R图转换到关系模式时,实体与联系都可以表示成关系
在关系数据库设计中,设计关系模式属于数据库设计的逻辑设计阶段
从E-R模型向关系模型转换,一个M:Ndex联系转换成一个关系模式时,该关系模式的键是M端实体键与N端实体键组合
数据库和表:
VAR类型不是MySQL中常用的数据类型
表数据的基本操作:
CREATE语句不是表数据的基本操作语句
数据库的查询:
在MySQL中,通常使用SELECT语句来进行数据的检索,输出操作
在SELECT语句中,可以使用GROUP BY字句,将结果集中的数据行根据选择列的值进行逻辑分组,以便能汇总表内容的子集,即实现对每个组的聚集计算。
填空
数据库技术的基本概念与方法:
数据库系统的三级模式结构是指数据库系统是由模式,外模式和内模式三级构成
数据库系统的运行与应用结构有客户/服务器结构(C/S结构)和浏览器/服务器结构(B/S结构)两种
在数据库的三级模式体系结构中,外模式与模式之间的映射实现了数据库的逻辑独立性
用二维表结构表示实体以及实体间联系的数据模型称为关系数据模型
数据库设计包括概念设计,逻辑设计和物理设计
在E-R图中,矩形表示实体
MySQL概述:
MySQL数据库所支持的SQL语言主要包含数据定义语言(DDL),数据操纵语言(DML),数据控制语言(DCL)和MySQL扩展增加的语言要素几个部分
在MySQL的安装过程中,若选用“启用TCP/IP网络”,则MySQL会默认选用的端口号是3306
MySQL安装成功后,在系统中回默认建立一个root用户
MySQL安装包含典型安装,定制安装和完全安装三种安装类型
数据库和表:
在MySQL,通常使用NULL值来表示一个列值没有值或缺值的情形
在CREATE TABLE语句中,通常使用PRIMARY KEY关键字来指定主键
表数据的基本操作:
在MySQL中,可以使用INSERT或REPLACE语句,向数据库中一个已有的表插入一行或多行元组
数据
在MySQL中,可以使用DELETE语句或TRANCANTE语句删除表中的一行或多行数据
在MySQL中,可以使用UPDATE语句来修改,更新一个表或多个表中的数据
数据库的查询:
SELECT语句的执行过程是从数据库中选取匹配的特定行和列,并把这些数据组织成一个结果集,然后以一张临时表的形式返回
当使用SELECT语句返回的结果集中行数很多时,为了便于用户对结果数据的浏览和操作,可以使用LIMIT子句来限制被SELECT语句返回的行数。
索引:
创建普通索引时,通常使用的关键字是INDEX或KEY
创建唯一性索引时,通常使用的关键字是UNIQUE
视图:
在MySQL中,可使用CREATE VIEW语句创建视图
在MySQL中,可使用DROP VIEW语句删除视图
数年据完整性约束与表维护语句:
MySQL支持关系模型中实体完整性,参照完整性和用户定义的完整性三种不同的完整性约束
触发器:
在实际使用中,MySQL所支持的触发器有INSERT触发器,DELETE触发器和UPDATE触发器三种
简答
数据库技术的基本概念与方法:
简述什么是数据库管理系统,它的功能有哪些?
数据库管理系统是一种操作和管理数据库的大型软件,是用于建立,使用和维护数据库,简称dbms。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。它的主要功能有数据定义,数据操作,数据库的运行及管理,数据组织,存储及管理,数据库的保护及维护,通信功能等
简述什么是数据库系统?
数据库,数据库管理系统与操作数据库的应用程序,加上支撑它们的硬件平台,软件平台与数据库有关的人员(如DBA,程序设计者等)一起,就构成了一个完整的数据库系统。
什么是模式,外模式和内模式?
模式:称为逻辑模式,是数据库的主题,是数据的全局结构和特征描述。
外模式:称为子模式和用户模式,是数据库看得见的局部数据的逻辑结构和特征的描述,是数据库的用户视图,是与某种应用相关的逻辑表示。
内模式:称为存储模式,定义了数据库中的全体物理结构,有定义数据的存储方法。
简述C/S结构和B/S结构的区别
CS是建立在局域网的基础上,BS是建立在广域网的基础上,BS容易维护,只需要升级服务端,CS升级比较困难,需要所有用户客户端都要升级
简述关系规范化的过程
对于存在数据冗余,插入异常,删除异常问题的关系模式,应采取将一个关系模式分解为多个关系模式的方法进行处理。一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式,这就是所谓的规范化过程
MySQL概述:
列举MySQL的系统特性
良好的可移植性,支持多操作平台,支持多线程,支持多种编程语言,支持大型数据库
简述MySQL的安装与配置过程
把MySQL文件压缩包解压后,用管理员模式运行dos界面,进入到MySQL解压的文件内bin层,输入mysqld-install命令
列举两个常用的MySQL客户端管理工具
MySQL命令行客户端,MySQL图形化管理工具phpAdmin
请解释SQL是何种类型的语言?
SQL是结构化查询语言(Structured Q-ery Language)的英文缩写,它是一种专门用来与数据库通信的语言
数据库和表:
分别解释AUTO_INCREMENT,默认值和NULL值的用途
AUTO_INCREMENT:为列设置自增属性,只有整型列才能设置;
默认值:在向表插入数据时,如果没有明确给出某个表列所对应的值,则此时DBMS允许为此表列指定的一个值;
NULL值:默认设置,不是not null就是null。
使用MySQL命令行客户端在MySQL中创建一个名为db_test的数据库
CREATE DATABASE db_test;
使用MySQL命令行客户端在数据库db_test中,创建一个网络留言版系统中用于描述网络留言内容的数据表content,该表的结构如下:
(注:诸多练习将基于这里创建的数据库db_test和表content)
USE db_test:
Database changed CREATE TABLE content
(content-id INT NOT NULL AUTO-INREMENT PRIMARY KEY,
subject VARCHAR(200);
words VARCHAR(1000);
username VARCHAR(50);
face VARCHAR(50);
email VARCHAR(50);
createtime DATETIME);
表数据的基本操作:
简述INSERT语句与REPLACE语句的区别
insert: 插入一条新的数据, 假如主键相同的话会报错
replace: 要插入的数据中索引值不同于表中任意一条数据的索引值,就增加一条新的数据,等同于
insert,否则,替换原来的数据,等同于先delete再insert
简述DELETE语句与TRUNCATE语句的区别
DELETE语句和TRUNCATE语句,都是删除数据表中的数据,但是它们对数据库的影响是很不一样的。一般来讲DELETE用于日常数据表的删除操作,TRUNCATE则用于对数据库整体性的维护性操作。
TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。 DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。
TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。
TRUNCATE,DELETE,DROP放在一起比较:
TRUNCATE TABLE:删除内容、释放空间但不删除定义。 删除定义:用DESCRIBE TABLE语句可以查出来的那些内容,包括列名和每列的存储格式。
DELETE TABLE:删除内容不删除定义,不释放空间。
DROP TABLE:删除内容和定义,释放空间
通俗点说:
truncate删除的更彻底,所有的日志记录都会没有,并且是一把全清,不会有where条件。
有个比较大的区别就是truncate后自增长的ID列也会归零,以后插入记录ID从1开始。
但是delete后你再插入记录,ID会从上次最大的数字开始。
delete 可以配合where条件。
使用INSERT语句向数据库db_test的表content中插入一行描述了下列留言信息的数据:留言ID号由系统自动生成;留言标题为“MySQL问题请教”;留言内容为“MySQL中对表数据的基本操作有哪些?”;
留言人姓名为“MySQL初学者”;脸谱图标文件名为“face.jpg”;电子邮件为“[email protected]”;留言创建日期和时间为系统当前时间。
USE db_test;
Database changed INSERT INTO content(content_id,subject,words,username,face,email,createtime);
VALUES(NULL,'MySQL问题请教','MySQL中对表数据的基本操作有哪些?'
'MySQL初学者','face.jpg','[email protected]',now());
使用UPDATE语句将数据库db_test的表content中留言人姓名为"MySQL初学者"的留言内容修改为"如何使用INSERT语句?"
USE db_test;
Database changed UPDATE content
SET words='如何使用INSERT语句?'
WHERE username='MySQL初学者';
使用DELETE语句将数据库db_test的表content中留言人姓名为"MySQL初学者"的留言信息删除。
USE db_test;
Database changed DELETE FROM content
WHERE username='MySQL初学者';
数据库的查询:
什么是子查询?
子查询:一个查询语句嵌套在另一个查询语句内部的查询。
请简述UNION语句的作用。
把所有查询的结果合并到一起,然后去掉相同的记录。
使用SELECT语句将数据库db_test的表content中留言人姓名为"MySQL初学者"的所有留言信息检索出来。
USE db_test;
Database changed
SELECT * FROM content WHERE username='MySQL初学者';
索引:
简述索引的概念及其作用
索引是对数据库中一列或多列的值进行排序的一种结构。使用索引可提高数据库中特定数据的查询速度。
列举索引的几种分类
普通索引,唯一索引,主键索引,全文索引,聚类索引,空间索引,单个索引,复合索引
简述在MySQL中创建,查看和测除索引的SQL语句
create index indexname on tablename;
show index from tablename;
drop index indexname on tablename;
简述索引的弊端
索引会增加表单的更新时间,而且索引会占用额外的物理空间,降低运行速度
用CREATE INDEX语句在数据库db_test的表content中,根据留言标题列的前三个字符采用默认的索引类创建一个升序索引index_subject。
USE db_test;
CREATE INDEX index_subject ON content(subject(3)ASC);
视图:
解释视图与表的区别
视图由表产生,是虚拟的表,表可以存储数据,视图不能储存数据
使用视图的益处
1.可以定制用户数据,聚集特定的数据
2.可以简化数据的操作
3.基表中的数据就有了一定的安全性
4.可以合并分离的数据,创建分区视图
在数据库db_test中创建视图content_view,要求该视图包含表content中所有留言人姓名为"MySQL初学者"的信息,并要求保证今后对该视图数据的修改都必须符合留言人姓名为”MySQL初学者“这个条件
USE db_test;
CREATE VIEW content_view AS SWERE username='MySQL初学者' WITH CHECK OPTION
数年据完整性约束与表维护语句:
什么是实体完整性?
实体完整性:规定表的每一行在表中是唯一的实体;参照完整性:指2个表的关键字和外关键字的数据应一致,保证了表之间的数据一致性,防止了数据丢失或无意义的数据在数据库中的扩散;用户定义的完整性:不同关系的数据库系统根据其应用环境的不同,往往需要一些特殊的约束条件。
MySQL是如何实现实体完整性约束的?
通过主键和外键的约束来实现
触发器:
USEdb_test;
CREATE TRIGGER content_delete_trigger AFTER DELETE ON content FOR EACH ROW SET@str=' old content deleted! ';
事件:
什么是事件?
事件就是需要在指定的时刻才被执行的某些特定任务,其中这些特定任务通常是一些确定的SQL语句
简述事件的作用
事件可根据需要在指定的时刻被事件调度器调用执行,并以此可取代原先只能由操作系统的计划任务来执行的工作。
事件与触发器的区别
事件与触发器相似,都是在某些事情发生的时候才被启动,因此事件也可称作临时触发器,其中事件基于特定时间周期触发来执行某些任务,而触发器是基于某个表所产生的事件触发的,它们的区别也在于此。
在数据库db_test中创建一个事件,用于每个月将表content中姓名为”MySQL留言者“的留言人所发的全部留言信息删除,该事件开始于下个月并且在2013年12月31日结束。
USE db_test;
DELIMITER$$ CREATE EVENT IF NOT EXISTS event_delete_content ON SCHEDULE EVERY | MONTH ENDS' 2013-12-31 '
DO
BEGIN
IF YEAR(CURDATE())<2013 THEN
DELETE FROM content
WHERE username=' MySQL初学者 ';
END IF;
END$$
未完