架构:
数据 !
记录 !
表 !
数据库(可共享的数据集合) !
数据库管理系统(软件):管理数据库 !
数据库系统:基于数据库的应用系统 !
数据独立性
!高度的数据物理独立性 !:存储结构改变应用程序不改变(桌子还是桌子)
!一定的数据逻辑独立性 !:逻辑结构改变时应用程序不改变(不同人看)
(1)数据与程序的物理独立性:当数据库的存储结构改变了,由数据库管理员对模式/内模式映像做相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性。
(2)数据与程序的逻辑独立性:当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式/模式的映像做相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
(3)数据库管理系统在三级模式之间提供的两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。
三个阶段
手工阶段
文件系统阶段
数据库阶段
distinct 去重
!DML数据操纵语言! :增加、检索、插入、修改、删除
!DDL数据定义语言!:创建表、创建视图、创建结构体
!DCL数据控制语言!
三级模式:外模式 模式 内模式、两级映像:物理独立性、逻辑独立性
三级模式
型(数据属性)和值(数据值)
模式(Schema)
模式,又称概念模式或逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式定义了数据的逻辑结构,包括数据项的名字、类型、取值范围等,还定义了与数据有关的安全性、完整性要求,以及数据之间的联系1。
# 示例:定义一个简单的数据库模式
CREATE TABLE Users (
UserID INT PRIMARY KEY,
UserName VARCHAR(100),
UserEmail VARCHAR(100)
);
1.1 用户级–> 外模式(反映了数据库系统的用户观)
外模式又称子模式或用户模式,对应于用户级。它是某个或某几个用户所看到的数据库的数据视图,是与某一应用有关的数据的逻辑表示。外模式是从模式导出的一个子集,包含模式中允许特定用户使用的那部分数据。用户可以通过外模式描述语言来描述、定义对应于用户的数据记录(外模式),也可以利用数据操纵语言(Data Manipulation Language,DML)对这些数据记录进行操作。
1.2 概念级–> 概念模式(反映了数据库系统的整体观)
概念模式又称模式或逻辑模式,对应于概念级。它是由数据库设计者综合所有用户的数据,按照统一的观点构造的全局逻辑结构,是对数据库中全部数据的逻辑结构和特征的总体描述,是所有用户的公共数据视图(全局视图)。它是由数据库管理系统提供的数据模式描述语言(Data Description Language,DDL)来描述、定义的。
1.3 物理级 –> 内模式(反映了数据库系统的存储观)
内模式又称存储模式,对应于物理级。它是数据库中全体数据的内部表示或底层描述,是数据库最低一级的逻辑描述,它描述了数据在存储介质上的存储方式和物理结构,对应着实际存储在外存储介质上的数据库。内模式由内模式描述语言来描述、定义的。
总结:
总之,数据按外模式的描述提供给用户;按内模式的描述存储在磁盘上;而概念模式提供了连接这两级模式的相对稳定的中间层,并使得两级中任意一级的改变都不受另一级的牵制。
数据库的两级映射
数据库系统在三级模式之间提供了两级映像:模式/内模式的映像、外模式/模式的映像。
• 模式/内模式的映像:实现概念模式到内模式之间的相互转换。
• 外模式/模式的映像:实现外模式到概念模式之间的相互转换。
数据的独立性是指数据与程序独立,将数据的定义从程序中分离出来,由DBMS(数据库管理系统)负责数据的存储,从而简化应用程序,大大减少应用程序编制的工作量。
数据的独立性是由DBMS的二级映像功能来保证的。数据的独立性包括数据的物理独立性和数据的逻辑独立性。
什么是数据的物理独立性?
答:数据的物理独立性是指当数据库的内模式发生改变时,数据的的逻辑结构不变。由于应用程序处理的只是数据的逻辑结构,这样物理独立性可以保证,当数据的物理结构改变了,应用程序不用改变。但是,为了保证应用程序能够正确执行,需要修改概念模式/内模式之间的映像。
什么是数据的逻辑独立性?
答:数据的逻辑独立性是指用户的应用程序与数据库结构是相互独立的。数据的逻辑结构发生变化后,用户程序也可以不修改。但是,为了保证应用程序能够正确执行,需要修改外模式/概念模式之间的映像。
一句话总结一下:通俗来讲就是如果改变了某个模式,只需要修改上一层的映像。即改变内模式,只需要修改模式/内模式映像(物理独立性),改变概念模式(逻辑结构),只需要修改外模式/模式映像(逻辑独立性)
模式:不同的查询方法
实例:查出来的内容
Data:数据,是数据库中存储的基本对象,是描述事物的符号记录。
Database:数据库,是长期储存在计算机内、有组织的、可共享的大量数据的集合。
DBMS:数据库管理系统,是位于用户与操作系统之间的一层数据管理软件,用于科学地组织、存储和管理数据、高效地获取和维护数据。mysql
DBS:数据库系统,指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统、应用系统、数据库管理员(DBA)构成。学生管理系统
数据模型:是用来抽象、表示和处理现实世界中的数据和信息的工具,是对现实世界的模拟,是数据库系统的核心和基础其组成元素有数据结构、数据操作和完整性约束。
概念模型:也称信息模型,是按用户的观点来对数据和信息建模,主要用于数据库设计。
逻辑模型:是按计算机系统的观点对数据建模,用于DBMS实现。
物理模型:是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法,是面向计算机系统的。
实体和属性:客观存在并可相互区别的事物称为实体。实体所具有的某一特性称为属性。
E-R图:即实体-关系图,用于描述现实世界的事物及其相互关系,是数据库概念模型设计的主要工具
11.关系模式:从用户观点看,关系模式是由一组关系组成,每个关系的数据结构是一张规范化的二维表。
12.型/值:型是对某一类数据的结构和属性的说明;值是型的一个具体赋值,是型的实例。
13.数据库模式:是对数据库中全体数据的逻辑结构(数据项的名字、类型、取值范围等)和特征(数据之间的联系以及数据有关的安全性、完整性要求)的描述。
14.数据库的三级系统结构:外模式、模式和内模式。
15.数据库内模式:又称为存储模式,是对数据库物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式。
16.数据库外模式:又称为子模式或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图。通常是模式的子集。一个数据库可有多个外模式。
17.数据库的二级映像:外模式/模式映像、模式/内模式映像。
重点知识点
1.数据库系统由数据库、数据库管理系统、应用系统和数据库管理员构成。
2.数据模型的组成要素是:数据结构、数据操作、完整性约束条件。
3.实体型之间的联系分为一对一、一对多和多对多三种类型。
4.常见的数据模型包括:关系、层次、网状、面向对象、对象关系映射等几种。
5.关系模型的完整性约束包括:实体完整性、参照完整性和用户定义完整性。
6.阐述数据库三级模式、二级映象的含义及作用。数据库三级模式反映的是数据的三个抽象层次: 模式是对数据库中全体数据的逻辑结构和特征的描述。内模式又称为存储模式,是对数据库物理结构和存储方式的描述。外模式又称为子模式或用户模式,是对特定数据库用户相关的局部数据的逻辑结构和特征的描述。数据库三级模式通过二级映象在 DBMS 内部实现这三个抽象层次的联系和转换。外模式面向应用程序, 通过外模式/模式映象与逻辑模式建立联系, 实现数据的逻辑独立性。 模式/内模式映象建立模式与内模式之间的一对一映射, 实现数据的物理独立性。
将相关的人员的ID记到一起叫关系
一个数据库只有一个模式
外模式是对模式的不同看法
外模式通常是模式的子集
一个数据库可以有多个外模式
一个应用程序只能有一个外模式
内模式是数据物理结构和存储方式的描述
一个数据库只有一个内模式
S#编号
椭圆属性
菱形联系
方形实体
线
20250314
E-R图
联系:学生通过学号选修课程,联系两个实体 唯一编号对唯一编号
实体码:标识实体的唯一标识符
域:取值范围,实体范围
组合多值
属性中不能出现组合属性和多值属性,必须转换为原子属性和单值属性
联系
一对一
一对多
多对多
数据模型(严格定义的一组概念模型):
数据结构(系统静态特性)
数据操作(系统动态特性):包括查询增删改
数据完整性约束(完整性规则集合):保证数据有效完整一致,有保障
元组:一行或者一个学生
属性:一列
表名:关系表的名称
域:每个属性的取值范围
关系模式可表示为:
关系模式名(属性名1,属性名2,……属性名n)
学生(学号,姓名……) 学号是主属性,一定要标主属性
关系又称表
关系数据库是若干表的集合
关系模式决定其对应关系的内容
每一个关系都必须命名
且同一关系数据模型中关系名互不相同
关系模式:表结构
关系:数据
元组:关系中的一行或者记录
码:极小的属性组
**关系是笛卡尔积中有意义的子集**
关系也可以表示为二维表
不同的列可出自于同一元组
任两个元组不能完全相同
集合内不能有相同的两个元素
表中的每一项都是不可分的基本数据项
·码(又称关键字,key)
■候选码
·能唯一确定一个元组的某一极小属性组
·主码(PrimaryKey)
·为关系组织物理文件时通常选用一个候选码作为插入、删除
修改、检索元组的操作变量,被选用的候选码成为主码。
·主码一经选定通常不变,一个关系中只有一个主码。
·外部码(ForeignKey)
·如果关系R的某一属性组不是该关系本身的候选码,而是另一个
关系的候选码,则称该属性组是R的外部码。
【例】有 学生关系S(Sno,Sname,Sex,Dno)
和专业关系DEPT(Dno,Dname)
关系模式图
学生(学号,姓名,年龄)
课程(课程号,课程名称)
选修(学号,课程号,成绩)
m:n多对多
1:n一对多
班级(班级号,班级名称,学生号1,学生号2,……学生号n)
学生(学生号,姓名,年龄,班级编号)
1:1一对一
管理(教师编号,教师姓名,班级编号,班级名称)
教师(教师编号,教师名称)
课程(课程编号,课程名称)
教科书(教科书编号,教科书名称)
讲授(教师编号,课程编号,教科书编号)
三元关系
教师(教师编号,教师名称,管理者教师编号)
自联系一对多
组织架构(机构编号,机构名称,父机构编号,机构类型)
SQL分类
·数据定义语言 DDL (Data Definition Language)
·用于创建、更改或删除数据库对象,如表、视图、索引及其
它对象。
·语句包括:CREATE、ALTER、DROP·
数据操纵语言DML(Data Manipulation Language)
■用于操纵数据库对象。
·语句包括:SELECT、INSERT、UPDATE、DELETE
·数据控制语言DCL (Data Control Language)
·用于定义控制访问对象。
·语句包括:GRANT、REVOKE
校内数据库:
服务名:orcl
ip:10.130.4.229
端口:1521
校外数据库:
服务名:JEM11GR2
ip:120.55.192.11
端口:21521
【腾讯文档】Oracle用户创建脚本
https://docs.qq.com/doc/DUmpzcXZvQXRQQWxy
样例:create user zhangsan identified by zs123; grant connect,resource to zhangsan;
/*zhangsan 代表用户名,zs123代表密码*/
各用户名和密码
/*用户创建语句*/
样例:create user zhangsan identified by zs123; grant connect,resource to zhangsan;
/*zhangsan 代表用户名,zs123代表密码*/
create user zhoujiaying identified by zjy1013123;
grant connect,resource to zhoujiaying;
create user shitianjing identified by stj060529;
grant connect,resource to shitianjing;
create user zhangkaixi identified by zhangqq123;
grant connect,resource to zhangkaixi;
create user yangyikai identified by yyk12345;
grant connect,resource to yangyikai;
create user nermay identified by lzk123;
grant connect,resource to nermay;
create user sunjialu identified by sjl051108;
grant connect,resource to sunjialu;
create user huangji identified by 060425;
grant connect,resource to huangji;
create user chenzhizhang identified by czz123;
grant connect,resource to chenzhizhang;
create user luobowen identified by lbw123;
grant connect,resource to luobowen;
create user mrhuo identified by z36970508;
grant connect,resource to mrhuo;
create user wangyile identified by 0205;
grant connect,resource to wangyile;
create user zhjx identified by zhjx;
grant connect,resource to zhjx;
create user zhangzihan identified by zzh20050527;
grant connect,resource to zhangzihan;
create user zhuyijie identified by zhuyijie0215;
grant connect,resource to zhuyijie;
create user qiyuhao identified by qyh123;
grant connect,resource to qiyuhao;
create user zhengzhirui identified by zhengzhirui0718;
grant connect,resource to zhengzhirui;
create user wangruobing identified by 249050206;
grant connect,resource to wangruobing;
create user dumingkun identified by dmk123;
grant connect,resource to dumingkun;
create user yitao identified by zytdsg123;
grant connect,resource to yitao;
create user yuxiao identified by yx123;
grant connect,resource to yuxiao;
create user chennuo identified by cn93030917;
grant connect,resource to chennuo;
create user xiongtaokai identified by 249050931;
grant connect,resource to xiongtaokai;
create user chenguowei identified by zjzs123456;
grant connect,resource to chenguowei;
create user chenxingxing identified by cxx123;
grant connect,resource to chenxingxing;
create user xwm identified by asdxiang6666;
grant connect,resource to xwm;
create user hurkin identified by can123456;
grant connect,resource to hurkin;
create user lutangyuan identified by lu123;
grant connect,resource to lutangyuan;
create user caijiayi identified by cjy123;
grant connect,resource to caijiayi;
create user lixuening identified by lxn021221;
grant connect,resource to lixuening;
create user zhangruihan identified by zrh0408;
grant connect,resource to zhangruihan;
create user mlb identified by mlb87863102;
grant connect,resource to mlb;