数据库是以某种文件结构存储的一系列信息表,这种文件结构使您能够访问这些表、选择表中的列、对表进行排序以及根据各种标准选择行。数据库通常有多个索引与这些表中的许多列相关联,所以我们能尽可能快地访问这些表。
以员工记录为例,您可以设想一个含有员工姓名、地址、工资、扣税以及津贴等内容的表。让我们考虑一下这些内容可能如何组织在一起。您可以设想一个表包含员工姓名、地址和电话号码。您希望保存的其它信息可能包括工资、工资范围、上次加薪时间、下次加薪时间、员工业绩评定等内容。
这些内容是否应保存在一个表格中?几乎可以肯定不应该如此。不同类别的员工的工资范围可能没有区别;这样,您可以仅将员工类型储存在员工记录表中,而将工资范围储存在另一个表中,通过类型编号与这个表关联。考虑以下情况:
KeyLastnameSalaryTypeSalaryTypeMinMax
1Adams213000045000
2Johnson124500060000
3Smyth336000075000
4Tully1
5Wolff2
SalaryType列中的数据引用第二个表。我们可以想象出许多种这样的表,如用于存储居住城市和每个城市的税值、健康计划扣除金额等的表。每个表都有一个主键列(如上面两个表中最左边的列)和若干数据列。在数据库中建立表格既是一门艺术,也是一门科学。这些表的结构由它们的范式指出。我们通常说表属于1NF、2NF或3NF。
第一范式:表中的每个表元应该只有一个值(永远不可能是一个数组)。(1NF)
第二范式:满足1NF,并且每一个非主键列完全依赖于主键列。这表示主键和该行中的剩余表元之间是1对1的关系。(2NF)
第三范式:满足2NF,并且所有非主键列是互相独立的。任何一个数据列中包含的值都不能从其他列的数据计算得到。(3NF)
现在,几乎所有的数据库都是基于“第三范式(3NF)”创建的。这意味着通常都有相当多的表,每个表中的信息列都相对较少。
从数据库中获取数据
假设我们希望生成一个包含员工及其工资范围的表,在我们设计的一个练习中将使用这个表。这个表格不是直接存在在数据库中,但可以通过向数据库发出一个查询来构建它。我们希望得到如下所示的一个表:
NameMinMax
Tully$30,00000$45,00000
Johnson$30,00000$45,00000
Wolff$45,00000$60,00000
Adams$45,00000$60,00000
Smyth$60,00000$75,00000
我们发现,获得这些表的查询形式如下所示
SELECTDISTINCTROWEmployeesName,Min,MaxFROMEmployeesINNERJOINONEmployeesSalaryKey=SalaryKey
ORDERBYMin;
这种语言称为结构化查询语言,即SQL,而且它是几乎目前所有数据库都可以使用的一种语言。SQL-92标准被认为是一种基础标准,而且已更新多次。
数据库的种类
PC上的数据库,如dBase、BorlandParadox、MicrosoftAess和FoxBase。
数据库服务器:IBMDB/2、MicrosoftSQLServer、Oracle、Sybase、SQLBase和XDB。
以上就是关于用excel中的高级筛选选出数据库原理或 *** 作系统成绩小于60分全部的内容,包括:用excel中的高级筛选选出数据库原理或 *** 作系统成绩小于60分、热血三国野地名将有没有60级以下的将领导回答好的给满意!、数据库分为哪几类等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)