当前位置: 首页 > news >正文

做职业规划的网站seo学院

做职业规划的网站,seo学院,建设公司网站 优帮云,网站建设功能是什么数据库的基本概念 数据data:数据库存储的基本对象 数据库database:DB,有组织的、可共享的大量数据的集合 数据库管理系统DBMS:用户和操作系统之间的一层数据管理软件 数据库系统DBS:由数据库、数据库管理系统、应用…

数据库的基本概念

数据data:数据库存储的基本对象

数据库database:DB,有组织的、可共享的大量数据的集合

数据库管理系统DBMS:用户和操作系统之间的一层数据管理软件

数据库系统DBS:由数据库、数据库管理系统、应用程序和数据库管理员(DBA)组成

数据库系统的特点

数据结构化

数据共享性高,冗余度低且容易扩充

数据独立性高(物理、逻辑)

数据由数据库管理系统统一管理和控制

五种基本运算

并:U

差:- 或 \

选择:\sigma_条件(关系名)

投影:\pi_属性列表(关系名) 自动去重

笛卡尔积:x,两两组合,生成一个大表

数据模型

概念模型、逻辑模型(物理模型)

概念模型:E-R图

逻辑模型:网状、层次、关系模型

物理模型:对数据最底层的抽象

E-R图:实体entity、属性attribute、联系relationship

数据模型的组成要素:数据结构、数据操作、数据的完整性约束条件

数据模型 = 数据的结构 + 数据的操作 + 数据的约束

三级模式结构:外模式、逻辑模式、内模式

外模式:子模式/用户模式:用户能看见和使用的局部数据的逻辑结构和特征的描述,视图

模式:逻辑模式:所有用户的公共数据视图

内模式:存储模式:数据物理结构和存储仿射的描述,数据库内部的组织方式

主键、候选键

主键:唯一的、不能为NULL、可以从候选键选一个作为主键

外键:不是表R的主键,但是是表S的主键

超键:能唯一标识元组的属性集合

候选键:能够确定唯一元组的属性组合(超键中挑出唯一最小集合)

主属性:包含在任何一个候选键上的属性

非主属性:不包含在任何一个候选键中的属性

参照完整性

如果一个表中的某个字段是另一个表主键的外键,则该字段的指必须存在于被参照表的主键中,或者为NULL

函数依赖

各个属性之间的一种依赖关系

属性和属性之间一对一的推导关系称为函数依赖

平凡函数依赖

X = {学号, 姓名}

Y是X的子集时(或相等),称为平凡依赖

X → {学号}

非平凡依赖

Y不是X的子集

X → {成绩}

完全依赖函数

第二范式的要求,完全依赖候选键推出数据

部分函数依赖

传递函数依赖

X->Y

Y->Z

Z传递依赖于X

第三范式要求,可以拆表来满足要求

多值依赖

一个属性决定另一个属性的多个值,且这些值彼此之间互不依赖。

范式

数据库设计的基本原则称为范式

第一范式(1NF)

保证数据表中的每一个字段的值具有原子性(不可再拆分的最小数据单元)

即每个元组的所有属性只能有一个值

第二范式(2NF)

第一范式的基础上增加每一条数据都是可唯 一表示的,所有非主键字段都必须完全依赖主键,不能只依赖主键的一部分

第三范式(3NF)

每一个非主键字段都和主键字段直接相关

所有非主属性之间不能有依赖关系,相互独立

范式的优缺点

优点:有助于消化数据库中的数据冗余

        扩展性和数据完整性达到最好的平衡

缺点:降低查询效率,范式越高,设计的表越多

BCNF(巴斯范式)

每个非平凡依赖的函数依赖X->Y,X必须是超键

范式的区分

1NF每行每列都只有一个值

2NF完全依赖主键

3NF非主属性之间不能有依赖

ACID4个特性

A:atomicity 原子性 

事务中的所有操作要么全部完成,要么全部不做,不能只完成一部分

C:consistency 一致性 

事务执行前后,数据库必须保持完整性约束,数据处于合法状态

I:isolation 隔离性

多个事务并发执行时,互不干扰,事务的中间状态对其他事务不可见

D:durability 持久性

事务一旦提交,其结构永久保存在数据库中,及时系统崩溃也不会丢失

假设银行转账:

        从账户 A 扣钱,同时给账户 B 加钱。

        原子性:要么两步都成功,要么都不做。

        一致性:转账后账户总金额不变。

        隔离性:多个转账不会互相影响。

        持久性:转账成功后,数据永久保存。

冲突

两个事务并发访问数据库的同一数据项,并且至少有一个事务对数据进行了写操作

丢失(更新)

两个事务同时读取同一个数据,然后都修改后写回数据库,其中一个事务的修改被另一个覆盖,导致前一次的更新丢失

(脏)修改

一个事务修改了数据,但是还没提交,另一个事务读取并修改了这部分未提交的数据,导致不一样

两次读不一致(不可重复读)

一个事务内两次读取同一条数据,中间另一个事务修改了这条数据并提交,导致两次读取结果不同

域完整性

数据库中每个属性(字段)必须符合该属性定义的取值范围和格式规则

数据库设计的步骤

需求分析

概念结构设计:E-R图设计

逻辑结构设计:转换E-R图为与DBMS相符的逻辑结构

物理结构设计:设计存取方法、设计关系、索引等物理结构

数据库实施:建立数据库,试运行,装数据

数据库运行和维护

连接

内连接

只保留AB表中匹配成功的行

SELECT * FROM A INNER JOIN B ON A.id = B.id;

自然连接

AB表中相同名字的属性自动进行等值连接

等值连接

内连接的一种,明确指定连接条件为=

SELECT * FROM A, B WHERE A.id = B.id;

外连接

左外连接

返回左表的所有记录,右边没有匹配的显示为NULL

SELECT * FROM A LEFT JOIN B ON A.id = B.id;

右外连接

SELECT * FROM A RIGHT JOIN B ON A.id = B.id;

全外连接

SELECT * FROM A FULL OUTER JOIN B ON A.id = B.id;

sql语句

DDL:定义:create drop alter

DML:操作:select insert update delete

创建数据库

create database 库;

drop database 库;

show database ;

delete from 表 where 条件;

select * from 表 where 条件;


UPDATE Student 
SET Sname = '张三' 
WHERE Class = '计算机一班';

% 表示匹配任意长度的任意字符(零个或多个字符)

_ 表示匹配任意单个字符(一个字符)


CREATE TABLE Student (
  Sno CHAR(6) PRIMARY KEY,                 -- 学号,主键,固定6位字符
  Sname VARCHAR(50) NOT NULL,              -- 姓名,变长字符串,不允许为空
  Gender CHAR(1) CHECK (Gender IN ('M','F')),  -- 性别,限定只能是 'M' 或 'F'
  Age INT CHECK (Age >= 0 AND Age <= 150), -- 年龄,整数,限制范围0~150
  Email VARCHAR(100) UNIQUE,                -- 邮箱,唯一约束
  EnrollmentDate DATE DEFAULT CURRENT_DATE, -- 入学日期,默认当前日期
  Phone VARCHAR(20) DEFAULT NULL,           -- 电话,允许为空,默认NULL
  ClassNo CHAR(4) NOT NULL,                  -- 班级编号,非空
  CONSTRAINT FK_Class FOREIGN KEY (ClassNo) REFERENCES Class(ClassNo) -- 外键,关联班级表
);
 

INSERT INTO Student (Sno, Sname, Age)

VALUES

('1001', '张三', 18),
('1002', '李四', 19),
('1003', '王五', 17);

ALTER TABLE 表名 ADD 列名 数据类型[约束条件];

GRANT(授权)

GRANT 权限列表 ON 对象 TO 用户或角色;
GRANT SELECT, INSERT ON Employees TO user1;

REVOKE(撤销授权)

REVOKE 权限列表 ON 对象 FROM 用户或角色;
REVOKE INSERT ON Employees FROM user1;
 

http://www.dtcms.com/a/441754.html

相关文章:

  • 怎么建优惠券网站太原seo排名外包
  • jmeter中java.net.ConnectException: Connection refused: connect
  • “十四五”科技冲锋:迈向科技强国的壮阔征程
  • 使用 Python 进行自然语言处理的完整初学者指南
  • 框架系统的多维赋能——论其对自然语言处理深层语义分析的影响与启示
  • HCIP 和 HCIE到底是报班还是自学好?
  • 网站建设要多少钱国外服装设计网站
  • Spring配置文件XML验证错误全面解决指南:从cvc-elt.1.a到找不到‘beans‘元素声明
  • 做美食视频网站有哪些网架公司招聘施工队伍
  • Qwen3-Coder 实战:从 0 到 1 开发商业级 API 平台,过程开源!
  • 知识点-红帽Linux入门
  • 《C++进阶之C++11》【异常】
  • 电商网站怎么推广福州短视频seo获客
  • Java 高并发多线程 “ThreadLocal” 面试清单(含超通俗生活案例与深度理解)
  • Linux网络部分—网络层
  • 30.渗透-.Kali Linux下载和安装
  • 浪浪山 iOS 奇遇记:给 APP 裹上 Liquid Glass “琉璃罩”(上集)
  • 博主自创项目:专属秘密表白源码(C语言版)(可自定义表白对象)
  • 网站建设的软硬件平台西宁做手机网站的公司
  • Traefik实现Ingress-IngressRoute-IngressRouteTCP-IngressRouteUDP及Traefik高级流量治理
  • default interface 概念及题目
  • 百度网站开发合同范本常州关键词优化如何
  • 我的nginx 配置经历,总结:调试 nginx要使用各浏览器的隐身(无痕)模式。
  • OOAD_ch01
  • BLDCPMSM电机控制器硬件设计工程(二)控制器主控芯片平台
  • 基于机载相控阵天线的卫星通信链路预算示例:(一)
  • 技术博客SEO优化指南大纲
  • C++: std::regex 比 strstr 慢 100 倍?
  • Rust中的泛型Generics
  • 重庆网站建设沛宣杭州余杭区网站建设