[管理学]2010下数据库原理第二章 -csl.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[管理学]2010下数据库原理第二章 -csl

Theory of Database 第二章 关系数据库标准语言SQL SQL语言的发展过程 基本特点 数据定义语言(DDL),数据操纵语言(DML)和数据控制语言(DCL) 重点介绍数据查询语言 视图操作 2.1 SQL语言简介 SQL是结构化查询语言Structured Query?Language的缩写,它是数据库的核心语言。 2.1 .1 SQL的发展及其特点 1974年,IBM的CHAMBERLIN(钱伯林 )和BOYCE(博伊斯 )提出SEQUEL (STUCTURED ENGLISH QUERY LANGUAGE); IBM公司对其进行了修改,并用于其SYSTEM R关系数据库系统中; 1981年 IBM推出其商用关系数据库SQL/DS,并将其名字改为SQL; 1986年美国国家标准协会(ANSI)公布了第一个SQL标准,即SQL-86; 国际标准化组织(ISO)于1987年正式采纳它为国际标准。 1989年ISO提出了完整特性的SQL,并称之为SQL89,后来又发展的SQL92(也称为SQL2)。 特点: 1.功能一体化 SQL语言从功能上可以分为四部分:数据定义(Data Definition) 、数据查询(Data Query)、数据操纵(Data Manipulation)和数据控制(Data Control)。 核心SQL主要有四个部分: (1) 数据定义语言,即SQL DDL,用于定义SQL模式、基本表、视图、索引等结构。 (2) 数据操纵语言,即SQL DML。数据操纵分成数据查询和数据更新两类。其中数据更新又分成插入、删除和修改三种操作。 (3) 嵌入式SQL语言的使用规定。这一部分内容涉及到SQL语句嵌入在宿主语言程序中的规则。 (4) 数据控制语言,即SQL DCL,这一部分包括对基本表和视图的授权、完整性规则的描述、事务控制等内容。 2.高度非过程化 它没有必要告诉计算机“如何”去做,而只需要描述清楚用户“要做什么”,系统会自动完成。 3.语言简洁 只用7个动词(select , drop, alter, create, insert, update ,delete)就实现了SQL的核心功能 。 SQL使用的动词 4.语法结构统一 SQL语言有两种使用方式:自含式和嵌入式。 自含式直接以命令方式交互使用,独立地以联机交互式使用; 嵌入式以嵌入到程序的方式使用,可以嵌入到某种高级程序设计语言中使用。 5.面向集合的操作方式 SQL所作用的对象、作用后所得的结果都可以是元组的集合。 2.2 SQL的数据定义 SQL的数据定义 课程表 学生表选课表实例 例如, 下面语句定义了教务管理数据库: CREATE DATABASE JWGL 要撤消数据库JWGL,可用下列语句实现: DROP DATABASE JWGL 2.2.1创建、删除和修改基本表 基本表是数据库中存储数据的最基本的对象,是构成数据库的一个重要组成部分。建立数据库后可以在其中创建基本表。 定义、修改与删除基本表 数据类型 一个属性选用哪种数据类型要根据实际情况来决定,一般要从两个方面来考虑,一是取值范围,二是要做哪些运算。 1. 创建基本表  其一般格式为: CREATE TABLE 表名  (列名数据类型[列级完整性约束条件] [,列名数据类型[列级完整性约束条件]]   …  [,表级完整性约束条件]); 列级完整性约束仅作用在该列上,表级完整性约束作用在整个表上。 完整性约束主要有三种子句:主键子句(PRIMARY KEY)、检查子句(CHECK)、外键子句(FOREIGN KEY)。 如果某一列作为表的关键字段,则该列应定义为非空(NOT NULL);省略的情况下表示允许为空。 使用UNIQUE定义列取值唯一。 例. 建立一个学生表Student,它有五个属性:学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)、年级(Sgrade)。其中学生的学号不能为空,并且值是唯一的。学号为该表的主键。学生的姓名也不允许为空。 CREATE TABLE Student (Sno CHAR(5) NOT NULL UNIQUE, Sname CHAR(20) UNIQUE, Ssex CHAR(1), Sage INT, Sdept CHAR(5), Sgrade CHAR(5), PRIMARY KEY(Sno)); 在这里由于学号属性已经定义为

文档评论(0)

jiupshaieuk12 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档