主页/Lecture2/目录
Lecture 2: создание Базы Данных
讲座2:创建数据库
1. Построение БД 数据库构建
Пользовательский уровень 用户级别
Обычный пользователь системы не знает о:
系统的普通用户并不知道:
- фактическом размещении данных в памяти компьютера;
- 数据在计算机内存中的实际位置
- механизмах для оптимизации операций с данными;
- 优化数据操作的机制;
- обработке запроса и осуществлении поиска;
- 处理请求和执行搜索;
Как представляет предметную область (часть предметной области) пользователь?
用户如何表示主题区域(主题区域的一部分)?
- Пользователь обычно:
- 用户通常:
- взаимодействует с частью системы;
- 与系统部分进行交互;
- имеет неполное представление о системе в целом;
- 对整个系统的了解不全面
- Сбор информации в виде: текста, диаграмм и т.д;
- 以文字、图表等形式收集信息;
Инфологический уровень 信息技术水平
- Инфологическая модель:
- 信息技术模型:
- обобщенное представление предметной области;
- 学科领域的概括性表述;
- собирается на основе анализа пользовательских представлений;
- 是根据对用户意见的分析收集的;
- не зависит от «физического» хранилища;
- 与 “物理”存储无关;
- 有标准工具来描述 (如ER图);
Даталогическая модель 数据模型
- Представление инфологической модели с учетом:
- 信息学模型的表征与考量:
- используемой модели данных;
- 所使用的数据模型;
- могут появляться детали, относящиеся к СУБД (типы данных);
- 可能会出现与 DBMS(数据类型)相关的详细信息;
Физический уровень 物理水平
- Реализация даталогической модели средствами СУБД:
- 通过 DBMS 实现数据模型:
- зависит от особенностей конкретной СУБД.
- 这取决于特定 DBMS 的特殊性。
- описывается на языке, поддерживаемом СУБД.
- 是用 DBMS 支持的语言描述的。
Проектирование базы данных 数据库设计
- Пользовательское представление о предметной области.
用户对主题领域的看法。
- Инфологическая модель.
信息学模型。
- Физическая реализация.
物理实现。
2. Инфологическая модель 信息学模型
Модель «сущность-связь» 实体-联系模型 Entity-Relationship Model (ER)
- Один из вариантов для построения инфологической модели: ER-диаграммы (Entity-Relationship - сущность-связь).
- 建立信息模型的一种选择:ER-关系图(实体-关系)。
- Питер Чен (1976, IBM).
- 陈彼得(1976 年,IBM)。
Основные элементы ИМ IM(信息学模型) 的主要内容
- Сущность — класс объектов, фактов, явлений, предметов, элементы которых будут храниться в базе данных.
- 实体 一 类对象、事实、现象、主题,其元素将存储在数据库中。
- Экземпляр сущности относится к конкретной вещи в наборе. Например, типом сущности (сущностью) может быть СТУДЕНТ , а экземпляром — Иван Иванов и т.д.
- 实体实例指的是一个集合中的具体事物。 例如,实体类型(实体)可以是 STUDENT,实例可以是 Ivan Ivanov 等。
- Атрибут — важная характеристика (свойство) сущности, которой присваивается имя.
- 属性是实体的一个重要特征(属性),它被赋予一个名称。
- Связь — ассоциирование двух или более сущностей, выражающая форму взаимодействия между ними.
- 关系 - 两个或多个实体之间的关联,表示它们之间的一种互动形式。
Изображение основных элементов 主要内容的描述

Связи между сущностями 实体之间的关系
4 (3) вида связей:
有四种联系方式:
- “один-к-одному” (1:1) 一对一
- “один-ко-многим” (1:N) 一对多
- “многие-к-одному” (M:1) 多对一
- “многие-ко-многим” (М:М) 多对多
Один-к-одному (1:1) 一对一
В каждый момент времени каждому экземпляру первой сущности соответствует 1 или 0 экземпляров второй сущности:
在每个时间点上,第一个实体的每个实例对应 1 个或 0 个第二个实体的实例:

Один-ко-многим (1:М) 一对多
Одному экземпляру первой сущности соответствуют 0, 1 или несколько экземпляров второй сущности;
第一个实体的一个实例对应 0、1 或多个第二个实体的实例;
Одному экземпляру второй сущности соответствует 0 или 1 экземпляров первой сущности;
第二个实体的一个实例对应第一个实体的 0 或 1 个实例;

Многие-к-одному (М:1) 多对一
Обратная связь к 1:М (рассматриваем со стороны второй сущности).
反馈到 1:M(从第二个实体的侧面看)。

Связь сущностей Студент-Группа - М:1
连接学生与小组实体 - M:1
Многие-ко-многим
(М:М) 多对多
Одному экземпляру первой сущности соответствуют 0, 1 или несколько экземпляров второй сущности;
第一个实体的一个实例对应 0、1 或多个第二个实体的实例;
Одному экземпляру второй сущности соответствует 0, 1 или несколько экземпляров первой сущности; 第二实体的一个实例对应第一实体的 0、1 或多个实例;

Классификация сущностей 实体分类
- Стержневая сущность (стержень) — независимая, базовая сущность (Студент, Группа)
- 核心实体(枢轴)–独立的基本实体(学生、小组)
- Ассоциативная сущность (ассоциация) — связь вида “многие-ко-многим” (“*-ко-многим” и т. д.) между двумя или более сущностями
- 关联实体(关联)– 两个或多个实体之间的多对多(”*对多 “等)关系
- Характеристическая сущность (характеристика) — связь вида “многие-к-одной” или “одна-к-одной” между двумя сущностями (частный случай ассоциации). Цель характеристики - описание или уточнении некоторой другой сущности.
- 特征实体(特性)是两个实体之间多对一或一对一的关系(关联的一种特殊情况)。 特征化的目的是描述或阐明其他实体。
Ключ 键
- Ключ — минимальный набор атрибутов, по значениям которых однозначно определяется требуемый экземпляр сущности.
- 键是一组最小属性,其值可唯一标识所需的实体实例。
- Суррогатный ключ - автоматически сгенерированный атрибут для однозначной идентификации экземпляра сущности в рамках данной сущности.
- 代理键是一种自动生成的属性,用于唯一标识给定实体中的实体实例。
3. Создание реляционной БД 关系型数据库的创建
Объекты базы данных 数据库对象
- Объекты базы данных - таблицы, представления, процедуры, триггеры.
- 数据库对象–表格、视图、存储过程、触发器。
- Для работы с объектами БД используется SQL:
- SQL 用于处理数据库对象:
- Предложения манипуляции данными (Data Manipulation Language, DML)
- 数据操纵语言(DML)(主要功能即是访问资料,因此其语法都是以读取与写入数据库为主)
- Предложения определения данных (Data Definition Language, DDL)
- 数据定义语言(DDL)(负责数据结构定义与数据库对象定义)
- Предложения определения доступа к данным (Data Control Language, DCL)
- 数据控制语言(DCL)(用于控制数据库的安全性、完整性、事务处理等)
Составляющие языка SQL SQL 语言的组成部分
- Предложения; 语句
- Идентификаторы (имена); 标识符
- Константы; 常量
- Операторы; 运算符
- Зарезервированные и ключевые слова; 保留字和关键字
Предложения SQL 语句
Предложение — команда, которая состоит из ключевых и зарезервированных слов, определяемых пользователем в соответствии с синтаксическими правилами SQL:
句子是由用户根据 SQL 语法规则定义的关键字和保留字组成的命令:
SELECT * FROM STUDENTS;
Идентификаторы SQL 标识符
- Имена объектов баз данных (определенные пользователем или системные).
- 数据库对象名称(用户定义或系统定义)。
- Создается при определении объекта.
- 在定义对象时创建。
- Используется для обращения к объекту:
- 用于指代物体:
SELECT * FROM STUDENTS;
Константы SQL 常量
Любые значения, которые не являются идентификаторами или ключевыми словами:
任何非标识符或关键字的值:
- числовые значения:
9999, 5Е6
- 数值:
9999, 5Е6
- строки символов:
'Пример строки'
- 字符串:
'Пример строки'
- значения, связанные с представлением времени (дата и время):
06-03-2017 10:06:54
- 与时间(日期和时间)表示相关的值:
06-03-2017 10:06:54
- булевы значения:
TRUE
- 布尔值: TRUE”
Операторы SQL 运算符
- Служат для обозначения действия над одним или несколькими выражениями.
- 用于表示对一个或多个表达式的操作。
- Делятся на категории: арифметические, логические, присваивания, сравнения и тд.
- 它们分为几类:算术、逻辑、赋值、比较等。
SELECT * FROM STUDENTS WHERE AGE
> 19;
Зарезервированные и ключевые слова SQL 保留字和关键字
Слова и фразы для задания конструкций и использования возможностей языка SQL;
用于指定结构和使用 SQL 语言特点的单词和短语;
SELECT * FROM STUDENTS WHERE AGE > 19;
一些常用的POSTGRESQL命令:
PostgreSQL命令大全