哈工大数据库系统 上 学习笔记

这篇笔记详细介绍了数据库系统的基本概念,包括数据库管理系统、关系模型、SQL语言的使用,以及数据库的完整性和安全性。重点讲解了关系的定义、关系演算、SQL语言操作数据库的语法,并探讨了嵌入式SQL、动态SQL以及数据库的完整性约束和安全机制。此外,还涉及了数据库在C/C++/Java等语言中的应用和数据字典。
摘要由CSDN通过智能技术生成

github 源码地址 :
https://github.com/Kevin-Kevin/hit-Database

哈工大数据库系统 上 学习笔记


TODO : github 不支持 [toc] 目录 , 有时间去网上找一个自动生成的工具

专用名词介绍

  • Database (DB) : 数据库

  • Database Management System (DBMS) : 数据库管理系统

  • DataBase Application (DBAP) : 数据库应用

  • DataBase Administrator (DBA) : 数据库管理员

  • 数据库管理语言

    以下三个统称为 SQL语言(结构化的数据库语言)

    • Data Definition Language (DDL) : 数据定义语言

    • Data Manipulation Language (DML) : 数据操作语言

    • Data Control Language (DCL) : 数据控制语言

      image-20210202210447117

什么是数据库管理系统

image-20210203135756207

image-20210203150628607

关系 (不同的数据组合后形成的东西 )

关系模型

什么是关系

  • 域(domain) : 列的取值范围, 每一列有一个值域 ,值域的值的数据类型相同
  • 笛卡尔积 : 由 n 个域形成的所有可能的 n 元祖集合
image-20210208131638150
  • 关系
image-20210208131724675
  • 关系模式
image-20210208132022530 image-20210208132744771 image-20210208132826622 image-20210203153813929

关系特性

  • 属性不可再分特性 : 关系第一范式

关系上的重要概念

  • 候选码 candidate key

  • 主码 primary key

  • 主属性与非主属性

    image-20210208133440155

  • 外码 foreign key

总结

image-20210208130951561

关系演算 (取出你想要的元组和属性)

以下内容见 <<数据库系统概论>> 第六章 形式化关系查询语言

关系代数

自然连接
image-20210209161258429 image-20210209161643959 image-20210205143833168

关系元祖演算

关系域演算

表达式的安全性

SQL语言 (用于操作数据库)

课堂讲义使用的数据库

image-20210208182104350

建立数据库

  • create database 数据库名;

  • create table 表名(列名 数据类型, 列名 数据类型, 列名 数据类型, … )

    image-20210208133850480

基本查询

  • select 属性 from 表名 where 条件

    • 从 表名 中选择 使 where 条件为真的元祖, 然后投影 select 属性
  • 检索结果之去除重复记录 : distinct

    • select distinct 属性 from 表名 where 条件
  • 检索结果之排序 : order by 列名 [asc | desc]

    • selcect 列名, 列名 from 表名 where 条件 order by 列名 asc;

      image-20210208134144642

  • 模糊查询

    • 列名 [not] like “字符串”

      image-20210208134251500

      image-20210208134315438

多表联合查询

  • select 属性 from 表名1, 表名2, 表名3 where 条件

    • 从 表名 1, 表名 2, 表名 3 的笛卡尔积中选择使 where 条件为真的元祖, 然后 select 属性
  • 等值连接

    image-20210208134559794
  • 重名处理

    image-20210208134618452
  • 不等值连接

    image-20210208134710081

利用 SQL 语言进行 增 删 改

image-20210208134828271
  • INSERT 与 select 结合使用

    image-20210208135013506
  • DELETE与 UPDATE

    • delete 删除表中的元祖

      image-20210208135124784
    • update 更新数据

      image-20210208135200156
  • 数据库定义操作

    • 修改
      • alter table 表名
    • 撤销
      • drop table 表名 (删除掉整张表)
      • drop database 数据库名 (撤销数据库)
    • 指定数据库
      • use 数据库名;
    • 关闭当前数据库
      • close 数据库名;

image-20210208090256699

复杂查询

  • IN 子查询

    image-20210208100600915

  • θ some / θ all 子查询 ( 相当于全称量词 exist / all)

    image-20210208102804836

    image-20210208110212564

    image-20210208110143640

  • [not ]exists 子查询

    image-20210208111356508

结果计算与聚合计算

  • 结果计算
    • select 后面可以是计算表达式
  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值