⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mysql-安全性-1b.htm

📁 微软数据库开发梦工场多媒体教学-My sql篇.rar
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Untitled Document</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2716.2200" name=GENERATOR></HEAD>
<BODY text=#ffffff bgColor=#000000>
_数据库系统原理<BR>
<BR><BR>
关系数据库系统的数据语言有多种,但在经过l0余年的使用、竞争、淘汰与更新后,SQL语言以其独特风格,独树一帜,成为国际标准化组织所确认的关系数据库系统标准语言。目前,SQL语言已成为关系数据库系统所使用的唯一数据存取语言,一般而言用该语言历书写的程序可以在任何关系数据库系统上运行。<BR>
SQL语言又称结构化查询语吉(structure 
query language)是1974年由boyce和ChamberIin提出的并在IBM公司San Jose研究实验室所研制的关系数据库管理系统system 
R上实现了这种语言,接着,IBM公司又实现了商用系统SQL/DS与DB2,其中SQL/DS是在IBM公司中型机环境下实现的,在DOS/VSE或VM/CMs操作系统下运行,而DB2则主要用于大型机环境,在MVS或MVS/XA支持下运行。<BR>SQL语言在1986年被美国国家标准化组织ANSI批准为关系数据库语言的国家标准,1987年又被国际标准化组织ISO批准为国际标准,此标准也于1993年被我国批准为中国国家标准。 

<P>目前,国际上所有关系数据库管理系统均采用SQL语言,它包括DB2以及ORACLE,SYBASE,INGRE5,INFORMIX等关系数据库管理系统。 
<BR>SQL概貌<BR>SQL称为结构化查询语言,但是它的实际功能且包括查询在内的多种功能,它包括数据定义、数据操纵(包括查询)和数据控制等三个方面。SQL所操作的对象称为基表(base 
table),它即是关系。所谓SQL的数据定义功能即是对基表的定义功能。SQL的数据操纵功能即是在基表上的查询、删除、插入、修改等功能,SQL的数据控制功能即是基于基表上的完整性、安全性、并发控制等功能。<BR>SQL语言有两种使用方式,一种是联机交互使用方式,在此种方式下,SQL可独立使用(称为自含式语言);另一种是嵌入式使用方式.它可以某些高级程序设计语言(如COBOL,C等)为主语言,而SQL则被嵌入其中依附于主语言(称为嵌入式语言)。不管采用何种使用方式,SQL语言的基本语法结构不变,仅在嵌入式中增加若干语句用以建立主语言与SQL间的联系。<BR>SQL命令的种类<BR>SQL命令的基本类型功能包括:创建数据库对象、操纵对象、往数据库表中填充数据、在数据表中更新己存在的数据、删除数据、执行数据库查询、控制数据库访问权限和数据库总体管理。<BR>丰要分为以下儿类:<BR>·DDL,数据定义语言。<BR>·DML 
数据操纵语言。<BR>·DQL 限数据查询语言。<BR>·DCL 
,数据控制话首。<BR>·数据管理命令。<BR>·事务性控制命令。<BR>定义数据库结构(DDL)<BR>数据定义语言(DDL)是SQL的一部分,它允许数据库用户来创建或重新构建数据库对象<BR>下面我们简单介绍SQL的功能:<BR>(1)SQL的数据定义功能 
SQL的数据定义主要有如下几种功能:<BR>1基表的定义与取消;<BR>2视图的定义与取消;<BR>3索引、集簇的建立与删除<BR>(2)SQL的数据操纵功能<BR>种功能:<BR>1数据查询功能;<BR>2数据删除功能;<BR>3数据插入功能‘<BR>4数据修改功能;<BR>5数据的简单计算及统计功能;<BR>6数据的赋值功能。<BR>(3)SQL的数据控制功能 
SQL的数据控制主要有如下几种功能:<BR>1数据的完整性约束功能;<BR>2数据的安全性及存取权限功能;<BR>3数据的触发功能;<BR>4数据的并发控制功能及故障恢复功能<BR>(4)与主语言的接口 
SQL语言提供游标语句(共4条)以建立SQL与主语言间因数据不匹配所引起的接口。<BR><BR>SQL 
数据定义功能<BR>SQL数据定义功能包括基表定义、视图定义与索引定义三部分在SQL中关系称基表,而属性称为列,在SQL中允许出现的数据类型是:<BR>CHAR(n) 
长度为n的定长字符串;<BR>VABCHAR(n) 最大长度为”的定长字符串;<BR>INTEGER 全字长二进制整数;<BR>SMALLINT 
半字长二进制整数;<BR>FLOAT 双字长浮点数;<BR>DECIMAL 
十进制数<BR>为用户检索方便,每张基表均可对一些列设置一些索引。<BR>SQL支持空值概念。所谓空值即是未知的值或无法给出的值。系统为用户提供方便,可由用户决定有关域是否允许出现空值。在SQL中有模式与子模式的概念,其中子模式以视图的形式<BR>出现。<BR>1.基表的定义、删除与修改<BR>(1)基表的定义 
可以通过创建表(CREATE TABLE)语句<BR>其中定义一个基表的框架,其形式为:<BR>CREATE TABLE 
&lt;基表名&gt;(&lt;列定义&gt;) [(列定义)]...[其他参数]其中列定义有如下形式:(列名)(数据类型)[NOT 
NULL]其中任选项:[其他参数]是与物理存储有关的参数,它随具体系统而有所不同。任选项[NOT 
NULL]表示指定列不允许出现有空值,它可由用户任选。通过基表定义可以建立一个关系模式,用CREATE TABLE 定义如下:</P>
<P>(2)基表的更改 可以通过更改表(ALTER TABLE)语句以扩充基表的列,从而构成一个新的基表框架,其形式为:<BR>
  ALTERT ABLE(基表名) ADD&lt;列名&gt;(数据类型)<BR>
  如我们可以在S中添加一个新的域SEX,并可用如下形式<BR>
  表示:<BR>
  ALTER TABLE S ADD SEX(SMALLINT)<BR>
  所要注意的是在扩充列时不允许出现:NOT NULL。<BR>
  (3)基表的删除 可以通过删除表(DROP TABLE)语句以删除一个基表,包括基表的模式连同该基表的数据、索引以及由该基表所导出的视图并释放相应存储空间。删除表的形式为:<BR>
  DROP TABLE(基表名)<BR>
  如我们删除关系S,可用如下的形式:<BR>
  DROP TABLE S<BR>
  2,索引的建立与删除<BR>
  在SQL中可以对基表建立索引以提供多种快速存取路径<BR>
  引的建立一般由DBA或建表人负责。<BR>
  索引的建立,可以通过建立索引(CREATE TABLE)语句实现,该语句可以按指定基表、指定列以及按指定顺序(升序或降序)<BR>
  建立索引。其形式如下;<BR>
  CREATE [UNIQUE] INDEX(索引名) ON (基表名)<BR>
  (&lt;列名&gt;[(顺序)][,&lt;列名&gt;[&lt;顺序&gt;].…])[其他参数]<BR>
  语句中UNIQUE为任选项,在建立索引中若出现UNIQUE则表示不允许两个元组在给定索引中有相同的值。语句中顺序可按升序(ASC)或降序(DESC)给出,顺序可以缺省,缺省时为升序。语句中其他参数为任选项,它与物理存储有关,在此不予细述。<BR>
  现举两例如下:</P>
<P>&nbsp;</P>
<P>在SQL中可以用删除索引(DROP INDEX)语句以删除一个<BR>
  已建立的索引,其形式如下:<BR>
  DROP INDEX&lt;索引名&gt;<BR>
  如下面的例子表示将已建立的索引名为XSNO的索引删除:<BR>
  DROP INDEX XSNO<BR>
  SQL数据操纵功能<BR>
  SQL的数据操纵功能具有数据查询、删除、插入及修改等功能,此外,作为自含式语言还具有如下功能:<BR>
  〔1)赋值功能 在数据操纵过程中所产生的一些中间结果以及需作永久保留的结果,必须以新的关系形式存贮于数据库内,因此对这些新关系须予以命名并赋值,经赋值后的关系今后在数据库中即可提供用户使用。<BR>
  (2)计算功能 SQL作为自含式语言需要有一些计算功能,它们是:<BR>
  1简单的四则运算。它包括在查询过程中可以出现有加、减、乘、除等简单计算。<BR>
  2统计功能。由于数据库在统计中有极大的应用,因此SQL有常用的统计功能,它们为求和,求平均值,求总数,求最大值,求最小值等。<BR>
  3分类功能。<BR>
  (3)输入/出功能 SQL提供标准的数据录入与输出功能。<BR>
  (4)查询功能 贝L语言的数据操纵功能是一种基于关系代数的操纵形式。我们知道,对查询的基本要求在关系代数中可以用下式表示:</P>
<P></P>
<P></P>
<P><BR><BR><BR>这三种参数可以用SQL中的基本语句:映像(mapping)语句的三个子句分别表示,映像语句由SELECT,FROM及WHERE等三个子句组成,其中SELECT子句给出查询的目标属性,FROM于勾结出查询所涉及的关系,而wHERE子句则给出查询的逻辑条件,它们可以用下面形式表示:<BR>SELECT 
&lt;列名&gt;[,&lt;列名&gt;]<BR>FROM&lt;基表名&gt;[,&lt;基表名&gt;]<BR>WHERE&lt;逻辑条件&gt;<BR>这种映像语句在数据查询中表达力很强,不仅如此,为了表示简洁与方便,映像语句中的WHERE子句还具有更多的表示能力<BR>①映像语句在wHERE子句中具有嵌套能力;<BR>②WHERE子句中的逻辑条件不仅具有命题公式形式,还具有一所谓词公式形式以及集合表达式形式。此外,SQL还具有数据删除、插入、修改的能力<BR>SQL的数据操作语句<BR>SQL的数据操作功能包括SELECT、INSERT、DELETE和UPDATE四个语句检索和更新(包括增、删、改)两部分功能。<BR>1.SQL查询语句<BR>sQL语言的核心语句是数据库查询语句.其简单格式是:<BR>SELECT目标列FROM基本表(或视图)<BR>[wHERE条件表达式]<BR>[GROUP 
BY 列名1 [HAVING 内部函数表达式]]<BR>[ORDER BY列名24 
{ASC|DESC}];<BR>语句的功能是:根据wHERE子句中的条件表达式,从基本表(或视图)中找出满足条件的元组,按SELECT子句中的目标列,选出元组中的分量,形成结果表。如果有ORDER 
BY子句,则结果表要根据指定的 列名2 按升序或降序排序。GROUP BY于句将结果按 
列名1分组。分组的附加条件用HAVING短语给出,只有满足内部函数表达式的组才会被输出。<BR>SQL语言对数据库的操作十分灵活方便,原因在于SELECT语句中的成分丰富多<BR>样,有许多可选形式,尤其是目标列和条件表达式,下面用例子来详细说明,例子涉及的是“学生—课程”数据库。<BR>(1)简单查询:<BR>[例4.1I 
求数学系学生的学号、姓名。<BR>SEI‘ECT S#,SNAME FROM S WHERE SD=‘MA’<BR>[例4.2] 
求选修了课程的学生的学号。<BR>SELECT DISTINCT S# FROM 
SC<BR>这里SELECT后面的DISTINCT表示要在结果中去掉重复的S#。<BR>[例4.3I 求全体学生的详细信息。<BR>SELECT * FROM 
S;<BR>[例4.4] 查询经过计算的值。求学生学号和学生的出生年份。<BR>SELECT S#,1989-AGE FROM 
S;<BR>SELECT语句后面可以是字段名,也可以是字段名和常数组成的算术表达式,还可以是字符串常数。<BR>如:SELECT 
S#,‘BinhdaY',1998-AGE FROM S;<BR>结果为: S#<BR>S1 Birthday 1969(若AGE=29)<BR>S2 
Birthday 1968(若AGE=30)<BR><BR>[例4.5] 要求对结果进行排序(即使用ORDER 
BY)的查询<BR>求选修C1课程的学生学号和得分,结果按分数降序排列。<BR>SELECT S#,GRADE FROM SC WHERE 
C#=’C1’<BR>ODER BY GRADE 
DERC;<BR>(2)连接查询:若查询涉及两个以上的表,则称之为连接查询,连接查询功能是关系数据库最重要的查询功能之一。<BR>[例4.6] 
查找学生以及共选修课程的信息。<BR>SELECT S.*,SC.* FROM S, SC wHERE S.S#=SC.S#<BR>WHERE 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -