IT入门-数据库基础_第1页
IT入门-数据库基础_第2页
IT入门-数据库基础_第3页
IT入门-数据库基础_第4页
IT入门-数据库基础_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

1、IT 入门数据库基础大连理工大学软件学院2012-6-19提纲1 数据库基础 2 SQL语言1数据库基础1.1 基本概念1.2 数据模型1.3 关系模型1.4 数据库系统结构1.1 基本概念数据(Data)描述事物的符号记录。如数字,文字,图形,图像,声音,语言等。数据库(DataBase,简称DB)长期储存在计算机内的、有组织的、可共享的数据集合。数据库管理系统(DataBase Management System,简称DBMS)位于用户与操作系统之间的一层数据管理软件。主要功能:1、数据定义:(Data Definition Language)2、数据操作;(Data Manipulati

2、on Language)3、数据库的运行管理;(安全,完整,并发,故障恢复)4、数据库的建立和维护功能。(初始数据,数据库转储、恢复,数据库重组织、性能监视、分析等)数据库系统(DataBase System,简称DBS)引入数据库后的计算机系统。一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。用户用户用户应用系统应用开发工具数据库管理系统操作系统数据库数据库管理员数据库系统1.2 数据模型(Data Model)认识抽象信息世界现实世界机器世界概念数据模型基本数据模型数据抽象过程数据模型基本概念概念数据模型是现实世界数据特征的抽象。用来抽象、表示和处理现实世界

3、中的数据和信息。数据模型的要求能比较真实地模拟现实世界;容易为人所理解;便于在计算机上实现。分类概念数据模型(也称信息模型)基本数据模型数据模型三要素数据结构;数据操作;数据的完整性约束。概念数据模型实体联系模型(Entity-Relationship Model)1976年,P.P.Chen提出。组成:矩形框,令形框,椭圆形框,线段。联系类型:1:1,1:N,M:N。E-R图构件矩形:表示实体集椭圆:表示属性菱形:表示联系集线段:实体集间或实体集与联系集间的连接。基本概念实体(Entity)客观存在并可以相互区别的事物。如人、事物、订货。属性(Attribute)实体具有的某一特性。如学生的

4、学号、姓名、性别。码(Key)唯一标识实体的属性集。如学生的学号。域(Domain)属性的取值范围。如性别的域为(男、女)实体型(Entity Type)用实体名及其属性名集合来抽象和刻画同类实体。如学生(学号,姓名,性别,出生年月,系,入学时间)实体集(Entity Set)同型实体的集合。联系(Relationship)不同实体集之间的联系。分类:一对一(1:1)一对多(1:n)多对多(m:n)课程教员授课1m参考书n供应商项目供应pm零件n职工领导1n实体型A实体型B联系名11实体型A实体型B联系名1n实体型A实体型B联系名mn供应商供应商号工作仓库零件项目职工地址账号电话号码仓库号姓名

5、面积职称姓名电话号预算年龄职工号供应领导库存开工日期项目号单价名称描述规格零件号供应量库存量nnpmm1n1n工厂物资管理E-R图基本数据模型四种最常用的数据模型层次模型(Hierarchical Model)代表系统:IBM的IMS,阿波罗登月。网状模型(NetWork Model)代表系统:GE的IDS,后DBTG数据库标准。关系模型(Relational Model)代表系统:Oracle,Sybase,DB2面向对象模型(Object Oriented Model)比如Gemstone,Objectivity/DB,ObjectStore1.3 关系模型1970年IBM公司San Jo

6、se研究室的E.F.Codd提出。关系模型是目前最重要的一种数据模型,它建立在严格的数学概念的基础之上,数学基础是关系代数。数据结构关系:数据的逻辑结构是一张二维表,由行列组成。学生成绩登记表示例学号姓名年龄性别系别年级200001王小明19女社会学2000200081黄大鹏20男计算机2000200030张文斌18男法律系2000关系模型关系操作与完整性约束关系操作数据定义:定义关系数据结构及其他对象。数据查询:支持数据检索。数据更新:数据的增、删、改操作。权限控制:防止数据的越权访问。注:提供关系操纵语言实现。完整性约束:实体完整性;参照完整性;自定义完整性术语关系(Relation):一

7、个关系对应通常说的一张表。元组(Tuple):表中的一行。属性(Attribute):表中的一列成为一个属性。每个属性需有一个名称,即属性名。候选码:表中的某个属性组,可以唯一确定一个元组。主码(Key):选定的一个候选码,用于确定元组。超码:候选码的超集。域(Domain):属性的取值范围。分量:元组中的一个属性值。关系模式:对关系的描述。关系名(属性1,属性2,属性)关系模型要求1NF;2NF;3NF;BCNF;4NF存储结构逻辑上:实体与联系都用表来表示。物理上:以文件的形式存储。关系模型的特点优点有严格的数学基础。概念单一。实体、联系、检索结果都用关系表示。存取路径对用户透明。具有很高

8、的数据独立性和安全保密性。缺点查询效率往往不如非关系数据模型。常用的关系数据库管理系统OracleIDC 2007年调查,Oracle占据了44.1%的市场份额。IBM为21.3%,微软为18.3%。世界上十个最大的 UNIX OLTP 网站全部运行于 Oracle 上 。 SybaseSybase公司的数据库产品。其他数据库DB2InformixMS SQL ServerMySqlPostgreAccess概念模型与关系模型转换实体-关系(表)属性码联系-关系(表)属性码系(系号,系名,电话,系主任号)系主任(工作证号,姓名,年龄)领导系主任系111:1联系系主任(系号,工作证号,姓名,年龄

9、)系(系号,系名,电话)主键主键外键外键包括系学生1N学生(学号,姓名,性别,系号)系(系号,系名,电话,系主任)1:N联系选课学生课程MN学生(学号,姓名,性别,系号)课程(课号,课名,学分)选课(学号,课号,成绩)成绩M:N联系职工领导1n职工(职工号,姓名,年龄,领导)供应供应商零件项目mpn供应量供应(供应商,项目,零件,数量)关系的类型基本关系实表视图虚表临时表1.4 数据库系统结构应用A应用B应用C应用D应用E外模式1外模式2外模式3模式内模式数据库内模式/模式映象外模式/模式映象数据库系统的三级模式结构数据库系统结构-用户角度Web服务器数据库服务器企业内部企业外部内部局域网C/

10、S结构C/S结构B/S结构B/S结构Internet查询和浏览工作站修改和维护工作站查询和浏览工作站修改和维护工作站Internet用户模式的概念数据库系统的结构从DBMS角度看,三级模式结构。(内部系统结构)从最终用户角度看,分集中式、分布式、客户/服务器和并行结构。(外部体系结构)模式(Schema)数据库中全体数据的逻辑结构和特征的描述。(仅仅涉及型的描述,不涉及值)实例(Instance)模式的一个具体值。数据库系统三级模式结构外模式、模式、内模式。2 SQL语言SQL数据定义语言SQL数据操纵语言SQL数据查询语言2.1数据库定义命令ACCESS支持的数据类型基本表定义基本表的创建基

11、本表的删除2.1.1 ACCESS的数据类型Microsoft Access data types, data types used to create tables, and ODBC SQL data types. 数据类型说明Char(size)存放定长字符数据,最长2000个字符Nchar(size)与char类型相似,最大长度可达4000字节。Varchar2(size)存放可变长字符数据,最大长度为4000个字符。Nvarchar2(size)类似于varchar2,可以用在所有的字符集中Varchar同varchar2,建议不使用。Number(l,d)数值型数据,l代表总长度,

12、d代表小数位数。Blob二进制大对象,长度(4G-1)*database block sizeRaw(size)纯二进制数据,最大2000字节Date 日期型。公元前4712年1月1日到公元9999年12月31日Long存放长字符串数据,最大2G.Microsoft Access data types, data types used to create tables, and ODBC SQL data typeslimitations on Microsoft Access data types. limitations on Microsoft Access data types. 使用

13、SQL语句查询设计SQL视图SQL语句使用SQL语句2.1.2基本表定义基本表的创建一般格式:CREATE TABEL (列级完整性约束条件,列级完整性约束条件,表级完整性约束条件;说明建表的同时可以定义与该表有关的完整性约束,这些约束条件被存入系统的数据字典中,当用户操作表时,DBMS会自动检查该操作是否有违背完整约束条件.建立约束的考虑:如果完整性约束条件涉及到该表的多个属性列,则必须定义在表级上;否则既可以定义在列级上也可以定义在表级上。表名、列名是不区分大小写的。对一个用户而言,表名必须唯一;一个表中,列名必须唯一。表名可包括任意合法字符,长度不超过64个字符。2.1.2基本表定义基本

14、表的创建例CREATE TABLE Student(Sno CHAR(5) NOT NULL UNIQUE,Sname CHAR(20) UNIQUE,Ssex CHAR(1),Sage NUMERIC,Sdept CHAR(15),CONSTRAINT PRI_STUDENT PRIMARY KEY(Sno);Primary keycreate table Student(Sno char(9) PRIMARY KEY,Sname char(20) not null,Ssex char(2),Sage smallint,Sdept char(20);create table SC(Sno c

15、har(9) not null,Cno char(4) not null,Grade Smallint,Primary key(Sno,Cno);create table Student(Sno char(9),Sname char(20) not null,Ssex char(2),Sage smallint,Sdept char(20),PRIMARY KEY(Sno);create table Course(cno char(10),cname varchar(20),constraint pk_course primary key (cno);Foreign keycreate tab

16、le SC(Sno char(9) not null,Cno char(4) not null,Grade Smallint,Primary key(Sno,Cno),Foreign key(Sno) references Student(Sno),Foreign key(Cno) references Course(Cno);2.1.3基本表删除一般格式:DROP TABLE ;说明基本表一旦删除,表中的数据、此表上建立的索引和视图都将自动被删除。例删除STUDENT表。DROP TABLE STUDENT;2.2数据操纵语言INSERT 语句UPDATE语句DELETE语句2.2.1 IN

17、SERT 语句插入单个元组 格式:INSERT INTO (,)VALUES (,); 注意:对表定义时说明了NOT NULL约束的属性列,必须给值而不能为空值,否则会出错。如果INTO子句中没有指明任何列名,则新插入的记录必须在每个属性列上均有值(即给定的值与定义的属性个数必须项等且赋值相容)。字符型和日期型数据在插入时要加单引号。例Insert into student values(201201,张三,男,30,软件工程);2.2.2 UPDATE语句修改某一个元组的值格式:UPDATE SET =,=WHERE;例update student set sname=李四 where sn

18、o=201201;2.2.3 DELETE语句删除某一个元组的值格式:DELETEFROMWHERE;例删除名字为李四的学生信息.Delete from student where sname=李四;删除多个元组的值例删除student表中的所有数据.Delete from student;2.3SQL数据查询语言 查询语句的一般结构单表查询多表查询2.3.1查询语句的一般结构命令: SELECT格式:SELECT ALL|DISTINCT,FROM ,WHERE GROUP BY HAVINGORDER BY ASC|DESC;描述:根据WHERE子句的条件表达式,从FROM子句指定的本表中

19、找出满足条件的元组,再按SELECT子句中的目标列表达式,选出元组中的属性值形成结果表。如果有GROUP BY子句则将结果按的值进行分组,该属性列相等的元组为一个组。通常会在每组中作用集函数。如果GROUP子句带有HAVING短语,则只有满足指定条件的组才予输出。如果有ORDER BY子句,则结果表还要按的值升序或降序排列。2.3.2单表查询选若干元组 查询满足条件的元组 WHERE常用的查询条件查询条件谓词比较=,=,=,!=,!,!;NOT+上述比较运算符确定范围BETWEEN AND,NOT BETWEEN AND确定集合IN,NOT IN字符匹配LIKE,NOT LIKE空值IS NU

20、LL,IS NOT NULL多重条件AND,OR2.3.2单表查询选若干元组 查询满足条件的元组 比较 例: select sno,sname from student where ssex=男;查询满足条件的元组 确定范围谓词BETWEEN AND与NOT BETWEEN AND的一般格式为NOT BETWEEN AND 查询属性值在(或不在)指定范围内的元组。其中为范围的下限(低值),为范围的上限(高值)。选出的元组包括边界与,要求a=b。 例: select * from student where sage between 18and 20;查询满足条件的元组 确定集合谓词IN可以用来查找属性值属于指定集合的元组。例: select * from student where sage in (19,20);2.3.2单表查询选若干元组 查询满足条件的元组 字符匹配谓词LIKE

温馨提示

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

评论

0/150

提交评论