《数据库技术》PPT课件.pptx
ACCP V4.0第4章 数据库技术计算机基础教学部:董小艳计算机基础教学部:董小艳第 2 页引言为什么要学习数据为什么要学习数据库?库?数据库在现实中的应用企业信息销售:用于存储客户、产品和购买信息。会计:用于存储付款、收据、账户余额、资产和其他会计信息。人力资源:用于存储雇员、工资、所得税和津贴的信息,以及产生工资单。生产制造:用于管理供应链,跟踪工厂中产生的生产情况、仓库和商店中产生的详细清单以及产品的订单联机零售:用于存储销售数据,以及实时的订单跟踪,推荐品清单的生成,还有实时的产品评估的维护。4.7 SQL Server 2008数据库数据库在现实中的应用银行和金融银行业:用于存储客户信息、账户、贷款,以及银行的交易记录。信用卡交易:用于记录信用卡消费的情况和产生每月清单。金融业:用于存储股票、债券的信息。大学:用于存储学生信息、课程注册和成绩。航空业:用于存储订票和航班的信息。电信业:用于存储通话记录,产生每月账单,维护预付电话卡的余额和存储通讯网络的信息。铁路业:用于存储订票、售票和火车的信息。4.7 SQL Server 2008数据库第 9 页数据库在现实中的应用校园一卡通校园一卡通课程上机考试系统课程上机考试系统教学管理系统教学管理系统思考:数据库在自己学习领域的应用?思考:数据库在自己学习领域的应用?第 10 页数据库的发展人工管理阶段人工管理阶段文件系统管理阶段文件系统管理阶段数据库系统管理阶段数据库系统管理阶段第 11 页人工管理阶段应用程序应用程序1应用程序应用程序2应用程序应用程序n数据数据1数据数据2数据数据n程序与数据编写在一起,每个程序程序与数据编写在一起,每个程序都有自己的一组数据,程序之间不都有自己的一组数据,程序之间不能进行数据共享。能进行数据共享。/*求求10个数之和个数之和*/#include Main()int i,s=0;int a10=66,55,75,42,86,77,96,89,78,56;for(i=0;i10;i+)s=s+ai;printf(“%d”,s);#include Main()int i,s=0;int a10=66,55,75,42,86,77,96,89,78,56;s=a0;for(i=1;i10;i+)if(sai)s=ai;printf(“%d”,s);/*求求10个数中最大值个数中最大值*/数据和程序放在一起,数据和程序放在一起,不具有独立性。不具有独立性。第 13 页文件系统管理阶段应用程序应用程序1应用程序应用程序2应用程序应用程序n数据文件数据文件1数据文件数据文件2数据文件数据文件n操作系统操作系统程序与数据分别存放,不同应程序与数据分别存放,不同应用程序可以共享数据。用程序可以共享数据。外存外存/*求求10个数之和个数之和*/#include Main()int i,x,s=0;FILE*fp;fp=fopen(“C:data.dat”,”r”);for(i=0;i10;i+)fscanf(fp,”%d”,&x);s=s+x;printf(“%d”,s);fclose(fp);/*求求10个数中最大值个数中最大值*/#include Main()int i,x,s=0;FILE*fp;fp=fopen(“C:data.dat”,”r”);for(i=0;i10;i+)fscanf(fp,”%d”,&x);if(s90 select*from Student where birthday between#1986-1-1#and#1986-5-1#英文单引号英文单引号4.4 SQL查询语句(二)SQL应用举例4.模糊查询 Select*from Student where Sname like*陈*例如:姓名 like“陈*”表示姓名以“陈”开头姓名 like“*强”表示姓名以“强”结尾通讯地址 like“*西安*”表示通讯地址中包含西安通讯地址 not like“*西安*”表示通讯地址中不包含西安4.4 SQL查询语句(二)SQL应用举例5.使用聚合函数 sum、avg、count、max、min 分别用于求和、求均值、计数、求最大值、求最小值。(1)Select ssex,count(ssex)as 人数from student group by ssex(2)Select avg(sc.grade)as 平均成绩,student.major from sc,Student where sc.sno=student.sno group by student.major;4.5 数据库应用系统是指针对某一个实际应用而设计开发的面向用户的软件系统。如学生管理系统、图书馆管理系统、超市进销存系统。常见的数据库系统开发工具 VB、VC+、Delphi、PowerBuilder等教师号教师号 姓名姓名 职称职称 系号系号 系名系名 负责人负责人课号课号 课名课名 学时学时专业号专业号 专业名专业名学号姓名年龄性别学号姓名年龄性别系系专业专业教师教师学生学生课程课程层次模型层次模型:将数据组织为一对多关系的结构将数据组织为一对多关系的结构学生宿舍学生宿舍学生学生教研室教研室系系教师教师网状模型网状模型:将数据组织为多对多关系的结构将数据组织为多对多关系的结构SQL Server 2008的常用数据类型SQL Server 2008中的数据类型可以分为以下几类:精确数值型整数型:bigint(8字节),smallint(4字节),int(2字节),tinyint(1字节,0至28-1),bit(0,1或NULL)带固定精度和小数位数的数据类型:numeric,decimal货币型:money(8字节),smallmoneys(4字节)近似数值型float(存储长度与数值的位数有关,7位4字节,15位8字节)real(4字节)日期和时间型datetime(8字节,表示时间范围可以表示从1753/1/1至9999/12/31)smalldatetime(4字节,表示时间范围可以表示从1900/1/1至2079/12/31)datetimeAn Introduction to Database SystemSQL Server 2008的常用数据类型字符串型char(18000个字符)不足的长度会用空白补上.varchar(18000个字符)尾部的空白会去掉.text(1231-1个字符,最大可存储2GB数据)Unicode字符串型 该类型与字符串数据类型类似,采用双字节字符编码,所以一个字符用两个字节存储nchar(14000个字符)nvarchar(14000个字符)ntext(1231-1个字符,最大可存储2GB数据)An Introduction to Database SystemSQL Server 2008的常用数据类型二进制字符串型binary(18000个字节)固定长度的二进制码字符串字段,最短为1,最长为8000varbinary(18000个字节)与binary差异为数据尾部是00时,varbinary会将其去掉image(1231-1个字节)为可变长度的二进制码字符串其它数据类型Cursor,sql_variant,table,timestamp,uniqueidentifier,xmlAn Introduction to Database System