第7章VisualBasic6.0数据库编程基础.ppt.ppt
文本预览下载声明
第7章 Visual Basic 6.0数据库编程基础;7.1 数据库基本知识;7.1.1 数据库的基本组成;(1)表;(2)记录;(3)字段;(4)关键字;(5)索引;7.1.2 设计数据库;(2)在设计数据库应用程序时,既要注意创建能发挥数据库最优性的程序代码,也要安排好数据库存放的物理布局和逻辑布局。一个好的数据库设计方案应包括以下几点:
? 能用较少的时间定位特定记录;
? 以有效的方式存放数据,以节省存储空间;
? 能使数据更新以尽量简单的方式进行;
? 在包含程序所需的新功能时应有足够的灵活性。
下面将通过一个案例来说明设计数据库的基本过程。;(1)应用程序的建模。
(2)确定应用程序所需的数据。
(3)将数据组织成表,并为每一个表确定一个标题。
(4)将学生信息与课程信息分离开来。
(5)在表与表之间建立关联。
(6)为数据设置索引。
(7)将学生成绩表按学号排序 。
(8)更加需要多次次排序。
(9)为数据设置有效性规则。
(10)设计方案的复查。 ;;;;;;7.1.3 数据库设计标准语言(SQL)简介 ;SQL的主要特点:
? SQL是一种交互式查询语言。
? SQL是一种数据库编程语言。
? SQL是一种数据库管理语言。
? SQL是一种客户/服务器语言。
? SQL是一种分布式数据库语言。
? SQL是一种数据库网关语言。 ; 查询是SQL的核心,SQL了提供唯一的用于数据库查询的语句,即SELECT语句。它提供了很多选项和使用方法。SELECT语句的命令格式如下:
SELECT[ALL|DISTINCT]关系表字段(表达式)列表|*
FORM[关系表名(别名)列表]
[WHERE查询条件]
[GROUP BY 分组要求]
[HAVING 分组搜索条件]
[ORDER BY 排序要求]
[INTO新关系表名]
SELECT查询语句是由7个子句构成,其中SELECT和FROM子句是一个完整SELECT查询语句必须要有的,其他的子句可以根据具体要求任选。 ;(1)SELECT子句
SELECT子句列出所有要求SELECT语句进行检索的数据项。这些项可能取自数据库中关系表的列,也可以是SQL在执行查询时需要进行计算的表达式。这里的“ALL”和“DISTINCT”选项,表示查询出的结果中是否容许有内容重复的行出现,缺省时是“ALL”选项,表示容许有内容重复的行出现,而“*”则表示查询出指定关系表中的所有列。
(2)FROM子句
FROM子句列出包含所要查询的数据关系表。;(3)WHERE子句
WHERE子句告诉SQL只查询某些关系表中满足一定要求的行的数据,查询要求由WHERE子句中的查询条件确定。
在WHERE子句中条件表达式可以使用以下的关系运算符:=(等于)、(大于)、(小于)、=(大于等于)、=(小于等于)、(不等于)、LIKE。LIKE是一个功能强大的运算符,它可以用来查找包含特定字符串的数据,可以用星号“*”来匹配任何可能的字符,“*”可以出现在指定字符的前面或者后面等,也可以是逻辑运算符,例如:AND(与)、OR(或)、NOT(非)等。 ;(4)GROUP BY子句
GROUP BY子句指定当前查询是汇总查询,即不是针对每行产生一个查询结果,而是对相似的行进行分组,然后再对每组产生一个汇总查询结果。
(5)HAVING子句
HAVING子句告诉SQL只对由GROUP BY所得到的某些行组的结果进行过滤,选择出满足分组条件的分组。
(6)ORDER BY子句
ORDER BY子句确定是否将查询出的结果按一列或多列中的数据进行排序,缺省是不排序的。 ;(7)INTO子句
INTO子句确定是否将查询出的结果存入一张新的关系表中,缺省时只将查询出的结果显示在屏幕上。这是非标准SELECT语句中的子句,但目前绝大多数实际应用的SQL数据库系统的SQL提供了这一选项。;【案例7-2】 数据库查询;(3)查询姓名为“孙立”的学生的数学成绩。
SELECT成绩
FROM 学生信息表,课程信息表,成绩信息表
WHERE 学生信息表.姓名=孙立
AND课程信息表.课程名=数学
AND学生信息表.学号=课程信息表.学号
AND课程信息表.课程号=成绩信息表.课程号
(4)查询考试成绩小于60分的学生学号及课程号,并按学号排序。
SELECT 学号,课程号
FROM 学生成绩表
WHERE 成绩 60
ORDER BY 学号 DEC;(5)统计参加课程号为“01”的考试的考生人数。
SELECT COUNT(姓名)
FROM 学生成绩表
WHERE 课程号=01
(6)统计年龄最大的学生姓名。
SELECT 姓
显示全部