Проектирование баз данных с использованием erwin
DESCRIPTION
Обзор процесса проектирования базы данных с использованием ERwin. Уровень материала: для начинающих.TRANSCRIPT
![Page 1: Проектирование баз данных с использованием ERwin](https://reader031.vdocuments.site/reader031/viewer/2022013111/55993cf41a28abc1038b473a/html5/thumbnails/1.jpg)
Проектирование баз данных с использованием ERwin
идея – модель – код
Как использование CASE облегчает разработку и развитие проекта
Ufa Developer Community. Олег Шерыхалин, [email protected]
![Page 2: Проектирование баз данных с использованием ERwin](https://reader031.vdocuments.site/reader031/viewer/2022013111/55993cf41a28abc1038b473a/html5/thumbnails/2.jpg)
Идея: база данных для интернет–магазина
Функционал:
• Каталог товаров
• Корзина заказов
![Page 3: Проектирование баз данных с использованием ERwin](https://reader031.vdocuments.site/reader031/viewer/2022013111/55993cf41a28abc1038b473a/html5/thumbnails/3.jpg)
Зачем нужна модель данных?
• «Лучше один раз увидеть» —упрощение разработки
• Соблюдаются правила проектирования БД
• Меньше ошибок в скриптахгенерации БД
• Отличная документация!
![Page 4: Проектирование баз данных с использованием ERwin](https://reader031.vdocuments.site/reader031/viewer/2022013111/55993cf41a28abc1038b473a/html5/thumbnails/4.jpg)
С чего начать? С сущностей
![Page 5: Проектирование баз данных с использованием ERwin](https://reader031.vdocuments.site/reader031/viewer/2022013111/55993cf41a28abc1038b473a/html5/thumbnails/5.jpg)
Добавим связи
![Page 6: Проектирование баз данных с использованием ERwin](https://reader031.vdocuments.site/reader031/viewer/2022013111/55993cf41a28abc1038b473a/html5/thumbnails/6.jpg)
А теперь, атрибуты (в народе - «поля»)
![Page 7: Проектирование баз данных с использованием ERwin](https://reader031.vdocuments.site/reader031/viewer/2022013111/55993cf41a28abc1038b473a/html5/thumbnails/7.jpg)
Что получилось? Логическая модель!
![Page 8: Проектирование баз данных с использованием ERwin](https://reader031.vdocuments.site/reader031/viewer/2022013111/55993cf41a28abc1038b473a/html5/thumbnails/8.jpg)
Добавим описание связей
![Page 9: Проектирование баз данных с использованием ERwin](https://reader031.vdocuments.site/reader031/viewer/2022013111/55993cf41a28abc1038b473a/html5/thumbnails/9.jpg)
Переходим к физической модели
![Page 10: Проектирование баз данных с использованием ERwin](https://reader031.vdocuments.site/reader031/viewer/2022013111/55993cf41a28abc1038b473a/html5/thumbnails/10.jpg)
Имена колонок, типы данных
![Page 11: Проектирование баз данных с использованием ERwin](https://reader031.vdocuments.site/reader031/viewer/2022013111/55993cf41a28abc1038b473a/html5/thumbnails/11.jpg)
Значения по умолчанию
![Page 12: Проектирование баз данных с использованием ERwin](https://reader031.vdocuments.site/reader031/viewer/2022013111/55993cf41a28abc1038b473a/html5/thumbnails/12.jpg)
Получим скрипт генерации БД
![Page 13: Проектирование баз данных с использованием ERwin](https://reader031.vdocuments.site/reader031/viewer/2022013111/55993cf41a28abc1038b473a/html5/thumbnails/13.jpg)
Улучшение модели: добавим индекс
![Page 14: Проектирование баз данных с использованием ERwin](https://reader031.vdocuments.site/reader031/viewer/2022013111/55993cf41a28abc1038b473a/html5/thumbnails/14.jpg)
Правила хорошего тона: связи
product
product_id: int
category_id: int
ti tle: varchar(200)
description: text
price: money
category
category_id: int
ti tle: varchar(200)
description: varchar(1000)
product
product_id: int
category_id: int
ti tle: varchar(200)
description: text
price: money
category
category_id: int
ti tle: varchar(200)
description: varchar(1000)
Неправильно Правильно
![Page 15: Проектирование баз данных с использованием ERwin](https://reader031.vdocuments.site/reader031/viewer/2022013111/55993cf41a28abc1038b473a/html5/thumbnails/15.jpg)
Правила хорошего тона: структуризация
![Page 16: Проектирование баз данных с использованием ERwin](https://reader031.vdocuments.site/reader031/viewer/2022013111/55993cf41a28abc1038b473a/html5/thumbnails/16.jpg)
Условно–бесплатные CASE
ERwin Data Modeler Community Editionhttp:// www.erwin.com
DbWrenchhttp://www.dbwrench.com
DbSchema – ER Diagram & SQL Database Toolhttp://www.dbschema.com
Open System Architect http://www.codebydesign.com
SQL Power Architect Data Modeling & Profiling Toolhttp://www.sqlpower.ca