fy"> Відмінність магазину комп'ютерних комплектуючих, практично від будь-якого іншого магазину полягає в тому, що кожен товар має власні параметри, також товари можуть бути сумісні один з одним чи ні.
Тому в базі даних, мені хотілося б приділити більше уваги товарам, розділивши їх на типи.
. 2 Концептуальна модель і її опис
Для даної предметної області можна спроектувати просту концептуальну модель, яка буде складатися з 2 об'єктів, пов'язаних між собою.
Об'єкт «Товар», зберігає інформацію про тип товару, його параметрах, ціною і т. д.
Об'єкт «Продажі», зберігає інформацію про продані товари, їх найменування, кількості, дату продажу, ціною.
Концептуальна модель транслюється потім у модель даних, сумісну з обраної системою управління базами даних (далі СУБД). Можливо, що відображені в концептуальної моделі взаємозв'язку між об'єктами виявляться згодом нереалізованим засобами обраної СУБД. Це потребує зміни концептуальної моделі. Версія концептуальної моделі, яка може бути забезпечена конкретної СУБД, називається логічною моделлю.
. 3 Логічна модель
Логічна модель відображає логічні зв'язки між елементами даних незалежно від їх змісту та середовищі зберігання.
Логічна модель даних може бути реляційної, ієрархічної або мережевий. Користувачам виділяються підмножини цієї логічної моделі, які називаються зовнішніми моделями, що відображають їхнє представлення про предметну область. Зовнішня модель відповідає уявленням, які користувачі отримують на основі логічної моделі, в той час як концептуальні вимоги відбивають уявлення, які користувачі спочатку бажали мати і які лягли в основу розробки концептуальної моделі. Логічна модель відображається у фізичну пам'ять, таку, як диск, стрічка або який-небудь інший носій інформації.
Як видно з логічної моделі (див. малюнок 1.), база даних буде складатися з двох сутностей:
ТОВАРИ. Сюди заноситься вся інформація про товари. Причому, сутність ТОВАРИ розбита на 4 подсущності, які логічно пов'язані між собою:
материнські плати
ПРОЦЕСОРИ
ВІДКРИТЕ
модулів оперативної пам'яті;
ПРОДАЖУ. Тут зберігається інформація про будь-коли проданих товарах.
. 4 Фізична модель
Фізична модель, визначає розміщення даних, методи доступу і техніку індексування, називається внутрішньою моделлю системи.
Зовнішні моделі ніяк не пов'язані з типом фізичної пам'яті, в якій зберігатимуться дані, і з методами доступу до цих даних. Це положення відображає перший рівень незалежності даних. З іншого боку, якщо концептуальна модель здатна враховувати розширення вимог до системи в майбутньому, то що вносяться до нього зміни не повинні впливати на існуючі зовнішні моделі. Це - другий рівень незалежності даних. Побудова логічної моделі обумовлено вимогами використовуваної СУБД.
Всі актуальні вимоги предметної області та адекватні їм «приховані» вимоги на стадії проектування повинні знайти своє відображення в концептуальної моделі. Звичайно, не можна передбачити всі можливі варіанти використання зміни бази даних. Але в більшості предметних областей такі основні дані, як об'єкти та їх взаємозв'язку, відносно стабільні. Змінюються тільки інформаційні вимоги, тобто способи використання даних для отримання інформації.
Ступінь незалежності даних визначається ретельністю проектування бази даних. Всебічний аналіз об'єктів предметної області та їх взаємозв'язків мінімізує вплив зміни вимог до даних в одній програмі на інші програми.
. 5 Опис таблиць
Структура таблиці ПРОЦЕСОРИ
ЗначеніеНазваніе поля в БДТіп даннихКод товараID_procINT (12), NOT NULL, PRIMARY KEYНаіменованіеNameVARCHAR (40) Роз'єм процессораSocketVARCHAR (12) ЯдроCoreVARCHAR (12) Кількість ядерNumber_coresINT (12) Техпроцес, нмProcess_tech_nmINT (12) Частота, МГцFrequency_MGzINT ( 12) Системна шінаSystem_busVARCHAR (12) Ціна, рубPrice_rubINT (12), NOT NULL
Структура таблиці ВІДКРИТЕ
ЗначеніеНазваніе поля в БДТіп даннихКод товараID_VGAINT (12), NOT NULL, PRIMARY KEYНаіменованіеNameVARCHAR (40) Роз'єм процессораGraph_procVARCHAR (20) Частота граф. процессораFrenq_proc_MGzINT (12) Підтримка інтерфейсаInterfaceVARCHAR (12) Граф. памятьVRAM_MbINT (12) Тип граф. памятіType_VRAMVARCHAR (12) Версія шейдеровShadersDOUBLEЦена, рубPrice_rubINT (12), NOT NULL
Структура табли...