Евгений Колесников há 1 ano atrás
pai
commit
83f4c76a91
3 ficheiros alterados com 24 adições e 34 exclusões
  1. 20 30
      articles/5_1_1_1_data_dictionary.md
  2. 2 2
      articles/5_1_1_1_erd2.md
  3. 2 2
      readme.md

+ 20 - 30
articles/5_1_1_1_data_dictionary.md

@@ -1,10 +1,6 @@
-<table style="width: 100%;"><tr><td style="width: 40%;">
-<a href="../articles/5_1_1_1_erd2.md">Основы проектирования баз данных.
-</a></td><td style="width: 20%;">
-<a href="../readme.md">Содержание
-</a></td><td style="width: 40%;">
-<a href="../articles/5_1_1_1_erd_workbench.md">Создание ER-диаграммы
-</a></td><tr></table>
+Предыдущая лекция | &nbsp; | Следующая лекция
+:----------------:|:----------:|:----------------:
+[Основы проектирования баз данных. ERD.](./5_1_1_1_erd2.md) | [Содержание](../readme.md#проектирование-баз-данных) | [Основы SQL](./sql_for_beginner.md)
 
 # Словарь данных
 
@@ -12,7 +8,7 @@
 
 >**Словарь данных** представляет собой определенным образом организованный список всех элементов данных системы с их точными определениями, что дает возможность различным категориям пользователей (от системного аналитика до программиста) иметь общее понимание всех входных и выходных потоков и компонентов хранилищ...
 
-*Словарь данных* содержит описание сущностей (таблиц), включающее в себя определение атрибутов, а также дополнительные сведения, например, единицы измерения и диапазоны изменения атрибутов, цель определения такого объекта, сведения о его разработчике и времени создания и т.д.
+**Словарь данных** содержит описание сущностей (таблиц), включающее в себя определение атрибутов, а также дополнительные сведения, например, единицы измерения и диапазоны изменения атрибутов, цель определения такого объекта, сведения о его разработчике и времени создания и т.д.
 
 В каталоге `docs` этого репозитория лежит [шаблон](../docs/DataDictionary_Template.xlsx) словаря данных.
 
@@ -26,7 +22,7 @@
 >
 >Посещения клиента в рамках оказания услуг должны обязательно фиксироваться в БД.
 
-Для начала, размеремся какие параметры заносятся в *словарь данных*
+Для начала, разберёмся какие параметры заносятся в *словарь данных*
 
 * **Key** - признак, что поле является ключём. Для разных типов ключей приняты определенные обозначения:
 
@@ -34,8 +30,6 @@
     * **FK** - внешний ключ (foreign key)
     * **IDX** - индекс (альтернативный ключ)
 
-    >Не нашёл как описывать составные ключи
-
 * **Field Name** - название атрибута (латиницей). Ещё раз напоминаю, что мы везде используем **CamelCase**
 
 * **Data Type/Field Size** - тип данных / размерность поля
@@ -57,23 +51,19 @@
 
 Key | Field Name | Data Type/Field Size | Required? | Notes | Мои примечания 
 :-:|----|-----|:-:|---|---
-PK | Id | INT | Y |   | Синтетический первичный ключ, тип всегда INT (целое)
-&nbsp;| LastName | varchar(30) | Y | | Фамилия (строка), обязательное поле
-&nbsp;| FirstName | varchar(30) | Y | | Имя (строка), обязательное поле
-&nbsp;| MiddleName | varchar(30) | | | Отчество (строка), НЕ обязательное поле
-&nbsp;| BirthDay | DATE | Y | | Дата рождения 
-&nbsp;| Phone | varchar(20) | Y | | Телефон (тут тип данных может быть INT)
-&nbsp;| EMail | varchar(20) | Y | | Электронная почта
+PK | id | INT | Y |   | Синтетический первичный ключ, тип всегда INT (целое)
+&nbsp;| lastName | varchar(30) | Y | | Фамилия (строка), обязательное поле
+&nbsp;| firstName | varchar(30) | Y | | Имя (строка), обязательное поле
+&nbsp;| middleName | varchar(30) | | | Отчество (строка), НЕ обязательное поле
+&nbsp;| birthDay | DATE | Y | | Дата рождения 
+&nbsp;| phone | varchar(20) | Y | | Телефон (тут тип данных может быть INT)
+&nbsp;| eMail | varchar(20) | Y | | Электронная почта
 FK | GenderId | INT | Y | | Ссылка на словарь **Gender**
-&nbsp;| FirstVisit | DATE | | | Дата первого посещения (регистрации). В принципе эту дату можно достать из таблицы "Посещения клиента"
-&nbsp;| Photo | BLOB | | | Фотографию клиента можно хранить в базе, но можно и в каком-либо каталоге на сервере
-FK | TagId | INT | | | Ссылка на словарь **Теги клиента**. Причем тут опять же в зависимости от ТЗ может понадобиться промежуточная таблица, если у клиента может быть несколько тегов
-
-
-<table style="width: 100%;"><tr><td style="width: 40%;">
-<a href="../articles/5_1_1_1_erd2.md">Основы проектирования баз данных.
-</a></td><td style="width: 20%;">
-<a href="../readme.md">Содержание
-</a></td><td style="width: 40%;">
-<a href="../articles/5_1_1_1_erd_workbench.md">Создание ER-диаграммы
-</a></td><tr></table>
+&nbsp;| firstVisit | DATE | | | Дата первого посещения (регистрации). В принципе эту дату можно достать из таблицы "Посещения клиента"
+&nbsp;| photo | BLOB | | | Фотографию клиента можно хранить в базе, но можно и в каком-либо каталоге на сервере
+FK | tagId | INT | | | Ссылка на словарь **Теги клиента**. Причем тут опять же в зависимости от ТЗ может понадобиться промежуточная таблица, если у клиента может быть несколько тегов
+
+
+Предыдущая лекция | &nbsp; | Следующая лекция
+:----------------:|:----------:|:----------------:
+[Основы проектирования баз данных. ERD.](./5_1_1_1_erd2.md) | [Содержание](../readme.md#проектирование-баз-данных) | [Основы SQL](./sql_for_beginner.md)

+ 2 - 2
articles/5_1_1_1_erd2.md

@@ -177,7 +177,7 @@ Management Studio_, _Oracle SQL Developer_ и им подобные — это 
 
     - именем – указывается в виде глагола и определяет семантику (смысловую подоплеку) связи;
 
-    - кратностью (кардинальность, мощность): один-к-одному (1:1), один-ко-многим (1:N) и многие-ко-многим (N:M, N = M или N <> M). Кратность показывает, какое количество экземпляров одной сущности определяется экземпляром другой. Например, на одном участке (описывается строкой таблицы «Участки») может быть один, два и более путей (каждый путь описывается отдельной строкой в таблице «Пути»). В данном случае связь 1:N. Другой пример: один путь проходит через несколько раздельных пунктов и через один раздельный пункт может проходить несколько путей – cвязь N:M;
+    - кратностью (кардинальность, мощность): _один-к-одному_ (`1:1`), один-ко-многим (`1:N`) и многие-ко-многим (N:M, N = M или N <> M). Кратность показывает, какое количество экземпляров одной сущности определяется экземпляром другой. Например, на одном участке (описывается строкой таблицы «Участки») может быть один, два и более путей (каждый путь описывается отдельной строкой в таблице «Пути»). В данном случае связь 1:N. Другой пример: один путь проходит через несколько раздельных пунктов и через один раздельный пункт может проходить несколько путей – cвязь N:M;
 
     - типом: идентифицирующая (атрибуты одной сущности, называемые внешним ключом, входят в состав дочерней и служат для идентификации ее экземпляров, т.е. входят в ее первичный ключ) и неидентифицирующая (внешний ключ имеется в дочерней сущности, но не входит в состав первичного ключа);
 
@@ -415,7 +415,7 @@ Management Studio_, _Oracle SQL Developer_ и им подобные — это 
 
 1. [Нормализация баз данных простыми словами](https://info-comp.ru/database-normalization)
 2. [Нормализация базы данных и ее формы](https://office-menu.ru/uroki-sql/51-normalizatsiya-bazy-dannykh)
-
+1. [Сущности и связи: как и для чего системные аналитики создают ER‑диаграммы](https://practicum.yandex.ru/blog/chto-takoe-er-diagramma/)
 
 **Контрольные вопросы**
 

+ 2 - 2
readme.md

@@ -118,9 +118,9 @@ http://sergeyteplyakov.blogspot.com/2014/01/microsoft-fakes-state-verification.h
 
   - [Разработка API](#разработка-своего-api)
 
-  - [Документирование ИС](#документирование-ис)
+  <!-- - [Документирование ИС](#документирование-ис) -->
 
-  - [Практика. Разработка мобильных приложений.](#практика-разработка-мобильных-приложений-android-studio-kotlin)
+  <!-- - [Практика. Разработка мобильных приложений.](#практика-разработка-мобильных-приложений-android-studio-kotlin) -->
 
   - [Разбор заданий прошлых лет](./articles/f6_demo_1.md)