Page 106 - 4636
P. 106

існувало  б  відношення  "один  до  одного".  Таблиці  Addresses  (Адреси)  і  Customers  могли  б  бути
        пов'язані зовнішнім ключем або якось інакше.
              При відношенні "один до багатьох" один рядок у першій таблиці пов'язаний з кількома рядками
        іншої таблиці. У нашому прикладі один клієнт може зробити кілька замовлень. У таких відношеннях
        таблиця, яка містить кілька рядків, буде мати зовнішній ключ до таблиці з одним рядком . У даному
        випадку,  щоб  проілюструвати  це  відношення,  ми  вставили  ідентифікатор  клієнта  в  таблицю
        замовлень.
              Відносно типу "багато до багатьох" кілька рядків однієї таблиці пов'язані з декількома рядками
        іншої. Наприклад, за наявності двох таблиць Books (Книги) і Authors (Автори ) могло б з'ясуватися, що
        одна книга була написана кількома авторами, кожен з яких написав і інші книги, причому деякі з них
        могли бути написані, знову-таки, у співавторстві з іншими. Як правило, такий тип відносин вимагає
        наявності окремої таблиці. У результаті могли б існувати таблиці Books, Authors і Books Authors. Третя
        таблиця містила б тільки ключі з інших двох таблиць як парних зовнішні ключі, що показують, які
        автори брали участь у написанні тієї чи іншої книги.

              5.2 Як спроектувати власну базу даних для веб-додатка

              Як правило, при створенні бази даних доводиться моделювати об'єкти і взаємозв'язки реального
        світу і зберігати інформацію про ці об'єкти та взаємозв'язки.
              Загалом  випадку  кожен  клас  реальних  модельованих  об'єктів  потребує  власної  таблиці.
        Подумайте  про  наступну  ситуацію:  нам  потрібно  зберігати  однакову  інформацію  про  всіх  наших
        клієнтів. Але при існуванні набору даних однакової "форми" ми запросто можемо створити таблицю,
        відповідну цим даним.
              У прикладі з магазином "Буквофіл" необхідно зберігати відомості про клієнтів, продані книги і
        деталі  замовлень.  У  кожного  клієнта  є  ім'я,  прізвище  та  адреса.  Замовлення  відрізняються  датою
        оформлення,  загальною  вартістю  і  списком  замовлених  книг.  Книги  відрізняються  номером  ISBN,
        автором, назвою і ціною.
              Виходячи з цього, база даних повинна містити, як мінімум, три таблиці: Customers  (Клієнти),
        Orders (Замовлення) і Books (Книги). Початкова схема представлена на рис. 5.3

                Customers(Клієнти)
                  CustomerID                 Name(ФІО)           Address (Адреса)        City (Місто)
                  (Первинний ключ)
                  1                       Саша Валентей       12, вул. Гудвіна           м. Київ
                  2                       Єва Легка           34, вул. Чорновола         м. Харків
                  3                       Слава Моргунов  56, вул. Пулюя                 м. Одеса

              Orders (Закази)
                OrderID                    CustomerID              Amount (Сумма)          Date (Дата)
             (Ідентифікатор заказу)        (Зовнішній ключ)
                1                          3                       27.50                   02-Червня-2013
                2                          1                       12.99                   15-Червня-2013
                3                          2                       74.00                   19-Червня-2013
                4                          3                       6.99                    01-Липня-2013




                                                            103
   101   102   103   104   105   106   107   108   109   110   111