数据库知识点串讲_第1页
数据库知识点串讲_第2页
数据库知识点串讲_第3页
数据库知识点串讲_第4页
数据库知识点串讲_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库知识点串讲数据库概述数据库基本概念什么是数据库数据库是存储在计算机内有组织、可共享的数据集合。什么是数据就是人们通过对客观事物的观察和测量得到的事实,是对客观事件的物理状态反映。信息:人们对数据进行加工整理后,为某一特定目的所提供的决策依据。数据处理就是信息处理P191数据库管理系统、数据库系统数据库管理系统(DBMS)是位于用户和操作系统之间的一层数据管理软件,它由系统运行控制程序、语言翻译程序、和一组公共程序组成。主要功能:数据定义、数据操纵、数据库的控制和数据库的维护。数据库系统(DBS)带有数据库的计算机系统。数据库系统的特征20世纪60年代IBM开放第一个数据库系统IMS主要特征1数据结构化2数据的共享性、冗余度低、易扩充3数据独立性高数据模型数据库发展中主要的三种模型层次模型、网状模型、关系模型非关系型数据库系统层次模型、网状模型关系型数据库系统关系模型20世纪70年代RDBS(商品化关系型数据库)关系型数据库采用二维表为基本数据结构关系型数据库系统SQLSERVEROraclemySQL数据库的总体设计步骤123首先确定数据库所要完成的任务,需要从数据库中得到什么样的信息。再确定数据库中应包含哪些数据表,每个表中包含哪些字段。最后确定每个字段的数据类型和字段长度等。一、数据表概念

数据表是数据库最重要的组成部分之一,是实际存放数据的地方,当建立一个数据库后,接着就要建立数据表。一、数据表概念大部分数据库管理系统中一个数据库包含若干张数据表。

数据表的设计是数据库设计的一大难点,在数据表的设计过程中应遵循以下的原则:1、每张数据表中不应该包含重复的数据。2、每张表中只包含一个主题信息。1、每张数据表中不应该包含重复的数据。设计数据表时应该保证每条信息只能出现在一个表中,避免各个表中含有相同的信息,否则容易造成数据的冗余和不一致,不利于数据更新。当然,作为表格之间的“纽带”,用来创建关系的字段除外。2、每张表中只包含一个主题信息。如下表所示,学生通信录中只包含学生通信方面的信息,可以根据需要再增加地址、邮编等内容,但不应该把成绩也加入学生通信录数据表,因为当该同学有两次考试成绩时,会造成存放两条记录,这两条记录只有成绩不同,其他如学号、姓名都相同,也造成了数据的冗余。二、字段与记录表中每一行称为一条记录,用于表示某件物体各方面的属性。数据表中的数据项称为字段,字段表示物体某方面的性质。记录字段字段简介一每个字段至少有4个属性:字段名、字段类型、字段长度和小数位数,即从这四个方面去定义字段。字段名就是字段的名称,一般可以包含英文字母和数字,有些数据库也支持汉字作为字段名。字段简介二不同的数据库管理系统支持的数据类型有所区别,但数据库管理系统基本上支持字符型、数值型、日期型、逻辑型这4种类型。1、字符型字段:如姓名、地址等,不参加算术运算的数字,如学号、电话、身份证号码等虽然形式上是数字,但也应该设为字符型字段。字段简介二2、数值型字段:用于存放数值型数据,其中存放的数据一般是用于数值运算的,如工资、成绩、身高等。3、日期型字段:用于存放“年-月-日”等日期信息,有些还可以存放时间信息。存放“出生日期”、“入团日期”等信息。4、逻辑型字段:用于存放只有两种结果的数据信息,如“是否团员”,只有“是”或“否”两种情况。字段简介三“年龄”信息,应该尽量选择与“出生日期”这种日期型字段计算获得。对于字符型字段只有字段长度这个属性,没有小数位数属性。

姓名字段长度可以设计为4,有些数据库信息系统中规定一个汉字要占二位长度,就设置为8,姓名字段没必要设计为更长的长度;

地址字段,考虑到某些地址可能比较复杂,应该把字段长度设得大一些。课堂练习1.数据表中字段最常用的有

4种类型。2.写出以下字段应该选择的字段类型:姓名

、成绩

、身高

题工电话号码

、语文成绩

、地址

、出生日期

、是否团员

、书名

、图书编号

、工资

、进校时间

dd字符型、数值型、日期型、逻辑型字符型字符型字符型字符型数值型数值型数值型数值型字符型逻辑型日期型日期型年龄:Year(Now())-Year([出生日期])4.3SQL数据定义和数据查询4.3SQL数据定义和数据查询SQL简介:全称“结构化查询语言”

由IBM公司1981年推出。1989年,美国ANSI(美国国家标准协会)定义的关系数据管理系统为SQL标准语言,称为ANSISQL89。SQL的优点:

首先,SQL为非过程化语言

其次,SQL拥有极少的命令

第三,SQL有极广的应用场合完整的SQL语言主要包含四部分:1、数据查询语句SELECT;2、数据操纵语句INSERT,UPDATE,DELETE;3、数据定义语句CREATE,ALTER,DROP;4、数据控制语句COMMITWORK,ROLLBACKWORK。要确认对数据库表的更改时使用。要在永久存储之前取消对数据表的一些更改时用。添加、修改和删除字段删除一个数据表4.3.2 创建数据库及数据表创建数据库语句格式:

CreateDatabase<数据库名>功能:新建一个数据库。注意:不同的数据库系统语法格式各有不同。例1、创建一个名为“学生学籍管理

”数据库

CreateDatabase学生学籍管理练习:创建一个名为“商品信息”的数据库

CreateDatabase商品信息创建数据表语句格式:CreateTable<数据表名>

(字段名1类型[NotNull][Primarykey],

字段名2类型[NotNull][Primarykey],

)功能:创建一个数据表。例:创建一个学生通信录,有学号长度为8,姓名,电话,地址CreateTable学生通信录(学号char(8),姓名Varchar,电话Varchar,地址Varchar)数据库字段类型:数值型:Int(整型)Real(单精度型)Float(双精度型)字符型:Char(定长字符型)Varchar(变长字符型)日期型:Datetime,输入格式:#月/日/年#或#年-月-日#逻辑型:BitNotNull,只能取0,-1或No,Yes或False,True非零值均为True,与VB统一NotNull—表示该字段值不能为空。PrimaryKey—表示该字段为主键。[]—表示可选项。注:()—不能少,字段名之间用逗号分隔。解释下列语句的功能:1、CreateTable学生成绩(姓名Varchar,语文Real,数学Real,英语Real)2、CreateTable学生家庭住址(学号Char(8)PrimaryKey,姓名Varchar,家庭住址Varchar)3、CreateTable学生档案(姓名Varchar(8),出生日期Datetime,是否团员Bit

NotNull)2023/6/184.3.3简单查询数据查询语句——SELECT1、SELECT的完整格式:

SELECT字段名,……|*

[FROM

数据表名称]

[WHERE

条件表达式]

[GROUP

BY

字段名]

[HAVING

条件表达式]

[ORDER

BY

字段名[ASC|DESC],……]这里[]之间的内容可以省略,当同时使用多个子句时,必须按指定的顺序书写,如GROUP

BY子句必须写在WHERE子句的后面。2、SELECT语句的基本格式基本格式:SELECT字段名1,字段名2,……

FROM数据表名[WHERE条件]

功能:把数据表中满足条件的记录或记录中的某几个字段信息显示出来注意:放在[]之间的称为子句,在使用时可有可无。2023/6/18例1:SELECT姓名,语文FROM学生成绩功能:显示“学生成绩”数据表中所有记录的姓名和语文成绩信息2023/6/18习题:1、显示“学生成绩”数据表中所有记录的姓名和数学成绩信息。2、显示“学生成绩”数据表中所有记录的姓名、计基和VB成绩信息。例2:SELECT姓名,语文,数学,英语,语文+数学+英语AS总分FROM学生成绩功能:显示“学生成绩”数据表中所有记录的姓名、语文、数学、英语和总分信息使用“表达式AS名称”来生成一个临时字段名。由此可见,SELECT语句有计算功能,可以根据原有字段生成新的字段。2023/6/18习题:3、显示“学生成绩”数据表中所有记录的姓名、语文、数学、英语、计基、VB和总分信息。例3:SELECT*FROM学生成绩功能:显示“学生成绩”数据表的全部信息。这儿可以使用“*”代表所有字段。2023/6/18习题4、显示“学生基本信息”数据表的全部信息。这儿可以使用“*”代表所有字段。2023/6/184.3.4条件查询“条件子句”是指用关系

运算符和

逻辑

运算符组成的表达式。关系运算符有6个,分别是:大于>小于<等于=大于等于>=小于等于<=不等于<>可以用关系运算符进行比较的有数值型、字符型、日期型三种类型的字段,逻辑型数据不能进行比较(既不能使用关系运算符)。2023/6/18字符型根据字符的编码进行比较,可以分三种情况:1)半角字符根据ASCII编码进行比较,从小到大分别是0-9A-Za-z。2)汉字根据国标码进行比较,对于一级汉字来说,就是根据汉语拼音顺序,二级汉字呢?3)半角字符与全角字符比较,全角字符大。2023/6/18下面通过一些例题来了解“WHERE条件子句”的用法:例4:SELECT*FROM学生成绩WHERE语文>=85功能:显示“学生成绩”数据表中语文成绩大于或等于85分的记录信息2023/6/18习题:5、显示“学生成绩”数据表中计基成绩小于或等于100分的记录信息。例5:SELECT*FROM学生成绩WHERE姓名="李强"功能:显示“学生成绩”数据表中姓名为“李强”的记录信息2023/6/18习题:6、显示“学生成绩”数据表中姓名为“王晨”的记录信息对于字符的比较还有一个“LIKE”运算符,用于字符的匹配比较,与LIKE同时使用的还有二个通配符:“*”代表任意个任意字符“?”代表一个任意字符2023/6/18LIKE的用法有几种:1)字段名LIKE“A*”:用于匹配“A”开头的任意长度的字符串2)字段名LIKE“A?”:用于匹配“A”开头的后接一个任意字符的字符串3)字段名LIKE“*A*”:用于匹配含有“A”的字符串2023/6/18注意:在SQL(ANSI

1989)标准中,用

%

_代替

*

和?例6:SELECT*FROM学生成绩WHERE姓名LIKE

"李*"功能:显示“学生成绩”数据表中姓“李”的记录信息,也就是显示姓名中第一个字为“李”的记录。2023/6/18聚集函数2023/6/18函数名称函数功能COUNT()统计所选数据的行数SUM()计算数据列的和MIN()计算数据列中的最小值MAX()计算数据列中的最大值AVG()计算数据列的平均值例24SelectCOUNT(*)AS总人数From学生成绩功能:显示“学生成绩”数据表中总的记录条数例25功能:显示“学生成绩”数据表中语文和数学的平均成绩SelectAVG(语文)as语文平均,AVG(数学)as数学平均From学生成绩SelectAVG(语文),AVG(数学)From学生成绩【例26】

SELECTMAX(语文),MIN(数学)FROM学生成绩

功能:显示“学生成绩”数据表中语文最高分,数学最低分,显示结果只有一条记录。1、统计“学生成绩”表总人数,并仅显示“总人数”SelectCount(*)As总人数From学生成绩2、显示“学生成绩”表中语文最高分,字段名显示“语文最高分”SelectMax(语文)as语文最高分From学生成绩3、统计“学生成绩”表中英语在60分及以上记录的“英语平均”

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论