学习记录||数据库系统概论(三)

本文深入解析SQL语言的特点与基本概念,涵盖结构化查询语言的综合统一性、非过程化特性及集合操作方式。详述数据定义,包括模式、表与索引的创建、修改与删除操作,为数据库设计与管理提供全面指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、SQL概述

       结构化查询语言,是关系数据库的标准语言;SQL是一个通用的、功能极强的关系数据库语言

1.SQL的特点

(1)综合统一

(2)高度非过程化

(3)面向集合的操作方式

(4)以同一种语法结构提供多种使用方式

(5)语言简洁,易学易用

2.SQL的基本概念

                                                                  

(1)基本表:本身独立存在的表,SQL中一个关系就对应一个基本表,一个(或多个)基本表对应一个存储文件,一个表可以                            带若干索引

(2)存储文件:逻辑结构组成了关系数据库的内模式,物理结构对用户是隐蔽的

(3)视图:从一个或几个基本表导出的表,数据库中只存放视图的定义而不存放视图对应的数据,视图是一个虚表,用户可以                        在视图上再定义视图

二、数据定义

1.模式定义 :定义模式实际上定义了一个命名空间。 在这个空间中可以定义该模式包含的数据库对象,例如基本表、视图、索                          引等。

(1)定义模式: CREATE SCHEMA <模式名> AUTHORIZATION <用户名>[<表定义子句>|<视图定义子句>|<授权定义子句>]

(2)删除模式:DROP SCHEMA <模式名> <CASCADE|RESTRICT>

         CASCADE(级联):删除模式的同时把该模式中所有的数据库对象全部删除

         RESTRICT(限制):如果该模式中定义了下属的数据库对象(如表、视图等),则拒绝该删除语句的执行。 仅当该模式                                               中没有任何下属的对象时才能执行。

2.表定义

(1)定义基本表:CREATE TABLE <表名>       (<列名> <数据类型>[ <列级完整性约束条件> ]       [,<列名> <数据类型>[ <列级                                 完整性约束条件>] ]    …       [,<表级完整性约束条件> ] );

         <表名>:所要定义的基本表的名字

        <列名>:组成该表的各个属性(列)

        <列级完整性约束条件>:涉及相应属性列的完整性约束条件

       <表级完整性约束条件>:涉及一个或多个属性列的完整性约束条件

       如果完整性约束条件涉及到该表的多个属性列,则必须定义在表级上,否则既可以定义在列级也可以定义在表级。

(2)修改基本表:

         ALTER TABLE <表名>

         [ ADD[COLUMN] <新列名> <数据类型> [ 完整性约束 ] ] [ ADD <表级完整性约束>]

         [ DROP [COLUMN ] <列名> [CASCADE| RESTRICT] ] [ DROP CONSTRAINT<完整性约束名>[ RESTRICT | CASCADE ]]

         [ALTER COLUMN <列名><数据类型> ] ;

         <表名>是要修改的基本表

         ADD子句用于增加新列、新的列级完整性约束条件和新的表级完整性约束条件

         DROP COLUMN子句用于删除表中的列;如果指定了CASCADE短语,则自动删除引用了该列的其他对象,如果指定了               RESTRICT短语,则如果该列被其他对象引用,关系数据库管理系统将拒绝删除该列。DROP CONSTRAINT子句用于删             除指定的完整性约束条件

         ALTER COLUMN子句用于修改原有的列定义,包括修改列名和数据类型

(3)删除基本表:

         DROP TABLE <表名>[RESTRICT| CASCADE];

         RESTRICT:删除表是有限制的。 欲删除的基本表不能被其他表的约束所引用 如果存在依赖该表的对象,则此表不能被删                                 除 

         CASCADE:删除该表没有限制。 在删除基本表的同时,相关的依赖对象一起删除

3.索引的定义

      建立索引的目的:加快查询速度 。

      关系数据库管理系统中常见索引: 顺序文件上的索引、B+树索引、散列索引、位图索引

      特点: B+树索引具有动态平衡的优点 ;HASH索引具有查找速度快的特点

(1)定义索引

         CREATE [UNIQUE] [CLUSTER] INDEX <索引名> ON <表名>(<列名>[<次序>][,<列名>[<次序>] ]…);

         <表名>:要建索引的基本表的名字

         索引:可以建立在该表的一列或多列上,各列名之间用逗号分隔

         <次序>:指定索引值的排列次序,升序:ASC,降序:DESC,缺省值:ASC

         UNIQUE:此索引的每一个索引值只对应唯一的数据记录

         CLUSTER:表示要建立的索引是聚簇索引

(2)修改索引:

         ALTER INDEX <旧索引名> RENAME TO <新索引名>

(3)删除索引:

         DROP INDEX <索引名>;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值