1.在数据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是: 模式
解析:
理论链接:三级模式结构和二级映像
数据库系统的三级模式结构是指数据库系统由外模式、模式和内模式三级构成。
①外模式,也称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。外模式通常是模式的子集,一个数据库可以有多个外模式。DBMS提供子模式描述语言(子模式DDL)来严格定义子模式。
②模式,也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。数据库模式以某一种数据模型为基础,统一综合地考虑了所有用户的需求,并将这些需求有机地结合成一个逻辑整体。DBMS提供模式描述语言(模式DDL)来严格定义模式。
③内模式,也称存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。DBMS提供内模式描述语言(内模式DDL)来严格定义内模式。
数据库系统的二级映像包括外模式/模式映像、模式/内模式映像,是DBMS在三级模式之间定义的,以保证数据库系统中的数据具有较高的逻辑独立性和物理独立性。
2.关于mysql_db_query与mysql_query说法错误的是 ABC
A mysql_db_query与mysql_query在执行sql语句后的返回值是一样的,成功返回资源号,失败返回FALSE
B 不能用mysql_query函数临时在另一个数据库上执行sql语句,而mysql_db_query可以
C mysql_query在功能上等于mysql_select_db() +mysql_db_query()
Dmysql_db_query不会切换回先前连接到的数据库
解析:
A mysql_db_query 成功返回资源号,失败返回FALSE;mysql_query成功返回TRUE,失败返回FALSE;
B mysql_db_query() 选择一个数据库并在其上执行查询。如果没有提供可选的连接标识,本函数会去找一个到 MySQL 服务器的已打开的连接,如果找不到已打开连接则会尝试无参数调用 mysql_connect() 来建立一个。注意此函数不会切换回先前连接到的数据库。换句话说,不能用此函数临时在另一个数据库上执行 sql 查询,只能手工切换回来。强烈建议用户在 sql 查询中使用 database.table 语法来替代此函数。
C 由mysql_select_db()和mysql_query() 来取代mysql_db_query
3.数据库系统的核心是:数据库管理系统,数据库系统可分为三种类型:层次、网状和关系,要保证数据库的逻辑数据独立性,需要修改的是:模式与外模式之间的映象,常见的数据模型:概念模型,逻辑模型,物理模型
4.数据库设计各阶段的任务
一个完整的数据库设计一般分为需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库的实施、数据库运行与维护六个阶段
需求分析阶段:分析用户需求,编写系统分析报告
概念结构设计:设计E-R模型
逻辑结构设计:将E-R图转换为表,实现E-R模型到关系模型的转换
物理结构设计:为设计的数据库选择合适的存储结构和存储路径
数据库实施:在计算机上建立实际的数据库结构,对其进行编码,测试和试运行
数据库运行和维护:维护数据库的安全性和完整性,检测并改善数据库性能,重新组织和构造数据库
给数据库赋予登录权限的语句是grant usage on ... to
5.select A,B from Table1 where A between 60 and 100 order by B下面哪些优化sql性能(C D)。
A 字段A 建立hash索引,字段B btree索引
B 字段A 建立hash索引,字段B不建立索引
C 字段A 建立btree索引,字段B不建立索引
D字段A 不建立 索引,字段B建立btree索引
解析:
Hash 索引仅仅能满足"=","IN"和"<=>"查询,不能使用范围查询。 btree用于<、>和between的范围查询,并且支持排序。,A、B都可以建立btree索引
6.数据库常见操作命令:
- optimize table TabName; 优化表
- repaire table TabName; 修复表
- analyze table TabName; 分析表
- flush table TabName; 刷新表
数据库查询步骤命令:
- distribution 分析
- optimization 优化
- parsing and transiation 解析和翻译
7.封锁
排它锁又称死锁(X锁):若事务T对数据对象A加上X锁,事务T可以读A也可以修改A,其他事务不能再对A加任何锁,直到T释放A上的锁。这保证了其他事务在T释放A上的锁之前不能再读取和修改A。
共享锁又称读锁(S锁),若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。
8.数据库系统的特点是
数据共享、数据独立、减少数据冗余、避免数据不一致和加强了数据保护
9.基础概念
①关系数据库中用二维表来表示实体之间的联系
②数据库系统阶段,数据具有高度的物理独立性和一定程度的逻辑独立性
③access数据库的类型是关系型数据库
④结构化查询语言包含6个部分:
一:数据查询语言(DQL:Data Query Language)
二:数据操作语言(DML:Data Manipulation Language)
三:事务处理语言(TPL)
四:数据控制语言(DCL)
五:数据定义语言(DDL)
六:指针控制语言(CCL)
⑤MySql中的权限分为五个级别:Global Level、Database Level、Table Level、Column Level、Routine Level
⑥SQL Server里的不同数据库
1、Master数据库
Master数据库记录了Sqlserver所有的服务器级系统信息,所有的注册帐户和密码,以及所有的系统设置信息,还记录了所有用户定义数据库的存储位置和初始化信息。
2、Tempdb数据库
Tempdb记录了所有的临时表、临时数据和临时创建的存储过程。Tempdb数据库是一个全局资源,没有专门的权限限制,允许所有可以连上Sqlserver服务器的用户使用。
在Tempdb数据库存放的所有数据信息都是临时的。每当连接断开时,所有的临时表和临时存储过程都将自动丢弃。每次系统启动时Sqlserver都会根据Model数据库重新创建Tempdb数据库。
3、Model数据库
Model数据库是用户建立新数据库的模板,它包含了将复制到每个用户数据库中去的系统表。每当创建数据库的语句create database执行时,服务器总是通过复制model数据库来建立新数据库的前面部分,新数据库的后面部分被初始化成空白的数据页,以供用户存放数据。
4、Msdb数据库
Msdb数据库主要被sqlserver agent用来进行复制、作业调度以及管理报警等活动。该数据库常被用来通过调度任务排除故障。
⑦删除表,不同的关键字的作用
CASCADE表示表的删除没有限制条件,在删除基本表的同时,相关的依赖对象(如视图)都将被删除。
RESTRICT表示表的删除是有条件限制的,要删除的基本表不能被其他表的约束所引用,不能有视图,不能有触发器,不能有存储过程或函数等。如果存在这些依赖该表的对象,则表不能被删除
⑧SQL Server中每一条select、insert、update、delete语句都是隐形事务的一部分,显性事务用BEGIN TRANSACTION明确指定事务。
10.关于MySql的权限级别,下列描述正确的是( B C D)
A MySql中的权限分为四个级别:Global Level、Database Level、Table Level、Routine Level
B Global Level所有权限信息都保存在mysql.user 表中,它的所有权限都是针对整个mysqld 的,对所有的数据库下的所有表及所有字段都有效
C Database Level其作用域即为所指定整个数据库中的所有对象
D Routine Level 的权限主要只有EXECUTE 和ALTER ROUTINE 两种,主要针对的对象是procedure 和function 这两种对象
11.查找 student表中所有电话号码(列名:telephone)的第一位为8或6,第三位为0的电话号码(C)
A SELECT telephone FROM student WHERE telephone LIKE ‘[8,6]%0*’
B SELECT telephone FROM student WHERE telephone LIKE ‘(8,6)*0%’
C SELECT telephone FROM student WHERE telephone LIKE ‘[8,6]_0%’
D SELECT telephone FROM student WHERE telephone LIKE ‘[8,6]_0*’
解析
"_"匹配任何单个字符
"%"匹配任意数目字符(包括零个字符)
"*"匹配0个或多个在它前面的字符
"[]"匹配在方括号中的任意一个字符
12.sql执行顺序:
from->on->join->where->group by->having->select->distinct->order by->limit
13.修改表的操作
修改表:ALTER TABLE 表名 修改选项 。选项集合:
-
{ ADD COLUMN <列名> <类型> -- 增加列
-
| CHANGE [COLUMN] <旧列名> <新列名> <新列类型> -- 修改列名或类型
-
| ALTER [COLUMN] <列名> { SET DEFAULT <默认值> | DROP DEFAULT } -- 修改/删除 列的默认值
-
| MODIFY [COLUMN] <列名> <类型> -- 修改列类型
-
| DROP [COLUMN] <列名> -- 删除列
-
| RENAME TO <新表名> -- 修改表名
-
| CHARACTER SET <字符集名> -- 修改字符集
-
| COLLATE <校对规则名> } -- 修改校对规则(比较和排序时用到)