《SQL 21日自学通(V3.0)(PDF格式)》第166章


14 如果表为你所有 别人如何才能从表中选择数据 
只有对你的表拥有选择权限的用户才可以从你的表中选择数据 
练习答案 
作为数据库安全性的练习 请你创建一个表 然后再创建一个用户 为该用户设置不 
同的安全性并测试 自己回答 
554 
…………………………………………………………Page 555……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪 
第 13 天 高级 SQL 
问题答案 
8 MICIRSOFT VISUAL C++可以让程序员直接调用 ODBC 的 API 函数 对不对 
不对 它将 ODBC 库的压缩内容做为自己的组件 组件提供了对 ODBC 的高级接 
口 所以可以更方便地使用这个功能 但是其功能的完全发挥受到了限制 如果你购 
买了 ODBC 的软件开发环境 SDK 那么你可以直接从 VISUAL C++应用程序中直 
接调用 API 
9 ODBC 的 API 函数只能由 C 语言直接调用 对不对 
不对 ODBC 的API 是以DLL 形式驻留的 它可以为许多语言调用 如VISUAL BASIC 
和 BORLAND OBJECT PASCAL 
10 动态 SQL 需要进行预编译 对不对 
不对 静态的需要预编译 动态的 SQL 由于是动态的 它只有在使用时才编译处理 
11 临时表中的#提示符是干什么用的 
SQL SERVER 使用#来标识临时表 
12 在将游标从内存中关闭后必须做什么 
你必须释放游标 语法为 SQL》 deallocate cursor cursor_name; 
13 能不能是 SELECT 语句中使用触发机制 
不用 它会在使用 UPDATE DELETE 或 INSERT 时自动运行 
14 如果你在表中创建了触发机制然后你把表删除了 那么触发机制还存在吗 
不会 表被删除后触发机制就自动删除了 
练习答案 
10 创建一个示例数据库应用程序 在今天我们使用了音乐收藏数据库作为示例 并 
对应用程序进行合理的数据分组 
11 列出你想要在数据库中完成的查询 
12 列出你要在维护数据库中需要的各种规则 
13 为你在第一步创建的数据库逻辑给创建不同的数据库计划 
555 
…………………………………………………………Page 556……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪 
14 将第二步中的查询转变为存贮过程 
15 将第三步中的规则转变为触发机制 
16 将第 4 步与第 5 步结合起来 与第 6 步一起生成一个脚本 其中包括所有的与该 
数据库相关联的过程 
17 插入一些示例数据 这一步可以作为第 7 步生成脚本的一部分 
执行你所创建的这些过程并检证它的功能 
自己回答 
第 14 天 动态使用 SQL 
问题答案 
5 在 VISUAL C++ 中 
是 CrecordSet 对象中的 GetDefaultSQL 成员 切记 你可以在操作你的表时改变这 
里的字符串 
6 在 DELPHI 中哪一个对象用来存放 SQL 
TQUERY 对象 
7 什么是 ODBC 
ODBC 基于开放数据库联联接 该技术可以让基于 WINDOWS 的应用程序通过驱动 
来访问数据库 
8 DELPHI 可以做什么 
DELPHI 对于不同的数据库提供了一致的界面 
练习答案 
3 在 C++的例子中如何对 STATE 字段进行正序或逆序的排序操作 
CString CTyssqlSet::GetDefaultSQL() 
{ 
return 〃 SELECT * FROM CUSTOMER ORDER DESC BY STATE 〃; 
} 
4 在向前一步 找到一个需要使用 SQL 的程序并使用它 自己做 
556 
…………………………………………………………Page 557……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪 
第 15 天 对 SQL 语句优化以提高其性能 
问题答案 
7 SQL 语句的流化是什么意思 
流化的意思就是认真地去安排在你的 SQL 语句中各子句中元素位置使其效率最大 
8 表和它的索引是否应该放在同一个磁盘上 
绝对不可以 如果可能 应该把它们放在不同的磁盘上以减少磁盘的交叉访问 
9 为什么说对 SQL 语句中各个元素的安排是非常重要的 
这样可以让数据的访问更有效 目标是减少反应时间 
10 当全表扫描时会发生什么情况 
不是先读索引然后读数据 而是逐行逐行地读数据 
11 你如何才能避免全表扫描 
通过创建索引和合理地安排被索引过的 SQL 语句中的元素位置 
12 常见的对性能的障碍有哪些 
常见的性能瓶颈有 
共享内存不足 
磁盘驱动器不足 
磁盘的可用空间安排不当 
无计划地运行大型的批量载入 
懒于使用 MIT 和 ROLLBACK 命令 
表和索引的大小不合适 
练习答案 
3 让下边的 SQL 语句更易读 
SELECT EMPLOYEE。LAST_NAME; EMPLOYEE。FIRST_NAME; 
EMPLOYEE。MIDDLE_NAME;EMPLOYEE。ADDRESS; EMPLOYEE。PHONE_NUMBER; 
PAYROLL。SALARY; PAYROLL。POSITION;EMPLOYEE。SSN; PAYROLL。START_DATE 
FROM EMPLOYEE; PAYROLL WHEREEMPLOYEE。SSN = PAYROLL。SSN AND 
557 
…………………………………………………………Page 558……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪 
EMPLOYEE。LAST_NAME LIKE "S%" AND PAYROLL。SALARY 》 20000; 
你应该重新格式式这个 SQL 语句 根据你想要做的工作而定 
SELECT E。LAST_NAME; E。FIRST_NAME; E。MIDDLE_NAME; 
E。ADDRESS; E。PHONE_NUMBER; P。SALARY; 
P。POSITION; E。SSN; P。START_DATE 
FROM EMPLOYEE E; 
PAYROLL P 
WHERE E。SSN = P。SSN 
AND E。LAST_NAME LIKE "S%" 
AND P。SALARY 》 20000; 
4 重新安排下边的查询条件以减少数据返回所需要的时间 并使用下边的统计 对整个表 
以决定这些条件的次序 
593 individuals have the last name SMITH。 
712 individuals live in INDIANAPOLIS。 
3;492 individuals are MALE。 
1;233 individuals earn a salary 》= 30;000。 
5;009 individuals are single。 
Individual_id is the primary key for both tables。 
SELECT M。INDIVIDUAL_NAME; M。ADDRESS; M。CITY; M。STATE; M。ZIP_CODE; 
S。SEX; S。MARITAL_S
小说推荐
返回首页返回目录