文档章节

数据库系统学习二

小湘西
 小湘西
发布于 2015/10/24 22:44
字数 873
阅读 120
收藏 5

一、SQL数据库的体系结构要点如下:

    1、一个SQL模式(Scheme)是表和约束的集合;  ----->SQL模式(scheme)又名数据库(database)

    2、一个表由行集构成,一行是列的序列,每列对应一个数据项;

    3、表有三种类型:基本表、视图、导出表。基本表是实际存储在数据库中的表,视图是由若干基本表或其他视图构成的表的定义,而导出表是执行查询时产生的表。

  

二、SQL的组成:

       核心SQL主要四个部分:

      1、数据定义语言:即SQL DDL,用于定义SQL模式,基本表、视图、索引等结构。

     2、数据操纵语言:即SQL  DML。数据库操作分成数据查询和数据更新两类,而数据更新又分为插入、删除、修改。

     3、嵌入式SQL语言的使用规定,

     4、数据控制语言:即SQL DCL。这一部分包括对基本表和视图的授权、完整性规则的描述、事务控制等内容。


三、数据库的语句(语句测试数据库用的是MySQL)

       数据库创建:create database <数据库名> 

       删除数据库:drop database <数据库名>[CASCADE][RESTRICT]

       CASCADE(级联式)方式:执行DROP语句时,只要SQL模式(数据库)及其下属的基本表,视图、索引等所有元素全部撤销。

      RESTRICT(约束式)方式:执行DROP语句时,只有当SQL模式(数据库)中没有任何下属元素时,才能撤销SQL模式,否则拒绝执行DROP语句。


    SQL允许用户使用“create domain”语句定义新的域,比如定义一个新的域PERSON_NAME:

              CREATE DOMAIN  PERSON_NAME  CHAR(8);

  这样就可以像使用基本类型一样,用域名PERSON_NAME来定义属性的类型。


基本表的创建:

             CREATE TABLE <表名>

                                ( <列名 类型>,

                                           。。。

                                    <完整性约束>,

                                         。。。

                                )

           eg:  create table c

                               (  C#  CHAR(4),

                                 CNAEM  CHAR(10) NOT NULL,

                                 T# CHAR(4),

                                PRIMARY KEY(C#),

                                FOREIGN KEY(T#) REFERENCES T(T#)

       );

    在基本表 C 的定义中说明了主键是C#,外键是T#。并指出看外键T#和基本表T中的T#类对应,此处对应的列名恰好相同,

 实际上也可以不同名,只要指出其对应性即可(也就是说C表中的T#可以改成M等等,只要指出他,和其他表中的那个属性对应即可)

外键体现了关系数据库的参照完整性。外键的取值:空或者主键值。



基本表的修改:

     1、增加新的列用“alter ...add...”语句,其句法如下:

                 alter table <基本表名> add<列名><类型>

              eg:在基本表S中添加一个地址(address)列

                     alter table S add  address varchar(30);

             应该注意:新增加的列不能定义为“not null” 。基本表在增加一列后,原有元组在新增加的列上的值都是被定义为空值(null);

2、删除原有的列用“alter ... drop...”语句,其句语法如下:

                alter table <基本表名>  drop <列名>[CASCADE][RESTRICT]

             此处的CASCADE方式表示:在基本表中删除某列时,所有引用到该列的视图和约束也要一起自动的被删除,而RESTRICT方式表示,

在没有视图或约束引用该属性时,才能在基本表中删除该列,否则拒绝删除操作。


3、修改基本表S中S#的长度修改为6 可以下列语句:

       alter table  S modify S#  char(6);






     
















© 著作权归作者所有

小湘西
粉丝 19
博文 100
码字总数 27575
作品 0
东城
程序员
私信 提问
PostgreSQL学习手册(目录)

事实上之前有很长一段时间都在纠结是否有必要好好学习它,但是始终都没有一个很好的理由说服自己。甚至是直到这个项目最终决定选用PostgreSQL时,我都没有真正意识到学习它的价值,当时只是想...

wangxuwei
2016/09/07
21
0
PostgreSQL学习手册(目录)

事实上之前有很长一段时间都在纠结是否有必要好好学习它,但是始终都没有一个很好的理由说服自己。甚至是直到这个项目最终决定选用PostgreSQL时,我都没有真正意识到学习它的价值,当时只是想...

wangxuwei
2016/09/16
35
0
阿里云ACE认证学习知识点梳理

学习知识点梳理 第一部分:阿里云产品学习 一、阿里云相关概念深化学习 二、阿里云相关产品感性认识及场景化学习 三、阿里云产品上手操作 四、阿里云大数据产品概念、应用场景 五、阿里云安全...

张嵘鑫
02/15
0
0
mysql必知必懂的常识

一、初识SQL语言 SQL(Structured Query Language 即结构化查询语言) SQL语言主要用于存取数据、查询数据、更新数据和管理关系数据库系统,SQL语言由IBM开发。SQL语言分为3种类型: DDL语句...

社会浪
2017/07/05
891
0
获取SQLite数据库文件路径

前言 这篇文章主要介绍了sqlitedatabase如何获取数据库路径 获取数据库文件路径 先来回顾下SQLiteDatabase学习(二)中创建数据库类DBOpenHelper,然后稍作修改,将DBOpenHelper改为如下代码 ...

奔跑的佩恩
2017/11/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

db.properties

jdbc.driver=com.mysql.cj.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=GMT%2B8&characterEncoding=utf8&useSSL=falsejdbc.username=rootjdbc.pas......

行者终成事
17分钟前
3
0
从 Storm 到 Flink,汽车之家基于 Flink 的实时 SQL 平台设计思路与实践

在 2019 年之前,之家的大部分实时业务都是运行在 Storm 之上的。Storm 作为早期主流的实时计算引擎,凭借简单的 Spout 和 Bolt 编程模型以及集群本身的稳定性,俘获了大批用户。下图是实时计...

阿里云官方博客
17分钟前
4
0
网络安全-Day04

2.1.1 什么是SQL注入 2.1.2 注入分类 2.1.3 MySQL手工注入 2.1.4 sqlmap使用 2.1.5 总结 什么是SQL注入 SQL注入漏洞原理 什么是SQL 结构化查询语言(Structured Query Language),是一种特殊目...

Jerry1101
18分钟前
3
0
docker容器内安装yum,vim等命令,以及配置ls指令

使用国内镜像 mv /etc/apt/sources.list /etc/apt/sources.list.bakecho "deb http://mirrors.163.com/debian/ jessie main non-free contrib" >> /etc/apt/sources.listecho "deb http://......

长恭
18分钟前
3
0
超详细的MySQL8.0.17版本安装教程

下载MySQL MySQL的官网地址:https://www.mysql.com/。 如下图所示: 然后点击DOWNLOADS ==> Community,选择MySQL Community Server。如图所示: 滑到页面的最下面,找到Recommended Downl...

彩色泡泡糖
21分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部