Учет переселенцев.
«Учет переселенцев» с предметной областью из атрибутов: код населенного пункта, наименование населенного пункта, код области, наименование области, код национальности, наименование национальности, дата рождения, фамилия, наименование населенного пункта, откуда прибыл.
Часть
Определение нормализации.
Метод нормализации отношения (таблицы) ‑ это процесс постепенного улучшения отношения (таблицы) путем последовательного перевода отношения (таблицы) из ненормализованной формы в первую, во вторую, в третью (иногда в четвертую и пятую) нормальные формы. Проектирование таблиц можно начинать с построения концептуальной модели и определения состава атрибутов для каждого объекта. Затем все атрибуты можно объединить в одну исходную таблицу.
Таблица находится не в нормализованной форме, если существует ячейка, в которой находится несколько значений.
1) Нормализация 1НФ
Определение. Таблица находится в первой нормальной форме, если в каждой ее ячейке находится не более одного значения.
(код населенного пункта, наименование населенного пункта, код области, наименование области, код национальности, наименование национальности, дата рождения, фамилия, наименование населенного пункта, откуда прибыл).
2) Нормализация 2НФ
Определение. Таблица находится во второй нормальной форме, если она уже находится в первой нормальной форме, и все неключевые атрибуты целиком зависят от всего ключа, а не от отдельной его части.
Переселенцы (код населенного пункта, код национальности, дата рождения, Фамилия, наименование населенного пункта); населенные пункты (код населенных пунктов, наименование населенных пунктов, код области, наименование области); национальности (код национальности, наименование национальности).
3) Нормализация 3НФ
Определение. Таблица находится в третьей нормальной форме, если она уже находится во второй нормальной форме, и все неключевые атрибуты взаимно функционально независимы.
Переселенцы (код населенного пункта, код национальности, дата рождения, Фамилия, наименование населенного пункта); населенные пункты (код населенных пунктов, наименование населенных пунктов, код области, наименование области); национальности (код национальности, наименование национальности).
Часть
Концептуальная модель (Овал - диаграмма):
Концептуальная модель представляет собой описание основных сущностей (таблиц) и связей между ними без учета принятой модели БД и синтаксиса целевой СУБД. Часто на такой модели отображаются только имена сущностей (таблиц) без указания их атрибутов. Представление пользователя включает в себя данные, необходимые конкретному пользователю для принятия решений или выполнения некоторого задания.
Логическая модель расширяет концептуальную путем определения для сущностей их атрибутов, описаний и ограничений, уточняет состав сущностей и взаимосвязи между
ними.
Физическая модель - преобразование логической модели с учетом синтаксиса, семантики и возможностей выбранной целевой СУБД.
Часть
Запросы:
1. простой
SELECT Переселенцы.*, Области.*, Национальности.*, [Населенные пункты].*
FROM Национальности INNER JOIN ((Области INNER JOIN [Населенные пункты] ON Области.Код = [Населенные пункты].[Код области]) INNER JOIN Переселенцы ON [Населенные пункты].код = Переселенцы.[Код населенного пункта]) ON Национальности.Код = Переселенцы.[код национальности];
2. группировка
SELECT Переселенцы.Фамилия, Области.Наименование, Национальности.Наименование
FROM Национальности INNER JOIN ((Области INNER JOIN [Населенные пункты] ON Области.Код = [Населенные пункты].[Код области]) INNER JOIN Переселенцы ON [Населенные пункты].код = Переселенцы.[Код населенного пункта]) ON Национальности.Код = Переселенцы.[код национальности]
GROUP BY Переселенцы.Фамилия, Области.Наименование, Национальности.Наименование;
3. Сортировка
SELECT Переселенцы.Фамилия, [Населенные пункты].Наименование, Национальности.Наименование
FROM Национальности INNER JOIN ((Области INNER JOIN [Населенные пункты] ON Области.Код = [Населенные пункты].[Код области]) INNER JOIN Переселенцы ON [Населенные пункты].код = Переселенцы.[Код населенного пункта]) ON Национальности.Код = Переселенцы.[код национальности]
ORDER BY Переселенцы.Фамилия DESC;
4. Условие
SELECT Переселенцы.Фамилия, Области.Наименование, Национальности.Наименование, Переселенцы.[Код населенного пункта]
FROM Национальности INNER JOIN ((Области INNER JOIN [Населенные пункты] ON Области.Код = [Населенные пункты].[Код области]) INNER JOIN Переселенцы ON [Населенные пункты].код = Переселенцы.[Код населенного пункта]) ON Национальности.Код = Переселенцы.[код национальности]
WHERE (((Переселенцы.[Код населенного пункта])=2 Or (Переселенцы.[Код населенного пункта])=3));
1. Концептуальная модель
2. Логическая модель
3. Физическая модель
https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B0%D0%B7_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85