Автор Тема: PL/SQL, Oracle, IT  (Прочитано 1929 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Sata Автор темы

  • Ветеран форума
  • ******
  • Сообщений: 5209
  • Пиво
Re: PL/SQL, Oracle, IT
« Ответ #30 : Июня 03, 2016, 13:02:59 »
SatanClaus,

Оффлайн Uncle_V

  • Эксперт
  • *****
  • Сообщений: 1095
Re: PL/SQL, Oracle, IT
« Ответ #31 : Июня 03, 2016, 13:26:38 »
Sata, заполняешь ты таблицу нормально. Времени у меня минут пять, так что несколько советов:

1. Ошибки в ER-модели. Имя и Фамилия - это атрибут физлица, название фирмы - это атрибут юрлица, заказчик - это контрагент, который может быть как физ.лицом, так и юр.лицом, равно как и производитель гитары. Понятно, что твоя модель таблиц летит в этом случае к черту, т.к. должен быть справочник контрагентов, юрлиц, физлиц и ролей через которые они относятся к некой сделке - заказу, покупке, продаже и проч. Со временем список ролей может пополняться, появятся агенты, посредники, консультанты и т.п.

2. Для ключй можно использовать GUID-ы, в Oracle они объявляются RAW(16) и заполняются функцией sys_guid(). Есть много плюсов их использования, особенно, когда работа ведется на нескольких инстансах базах. Для справочников, состоящих из ограниченного значения значений (статусы документов, форм-факторы гитар и т.п. лучше использовать текстовые первичные ключи 'ISSUED', 'CONFIRMED', 'PAID' или 'LP', 'STRAT', 'SG')

3. Значения всякого рода "справочников" можно заполнять непосредственно редактируя данные созданных таблиц и затем выгрузив из них Insert-скрипт, равно как и DDL создания самих таблиц. TOAD это прекрасно умеет.

4. Синтаксис оператора Select таки стоит подучить. Без знания его основных разделов (условия, джоины и группировки) за такую задачу браться не стоит.

Все, больше пока времени нет.

Оффлайн Sata Автор темы

  • Ветеран форума
  • ******
  • Сообщений: 5209
  • Пиво
Re: PL/SQL, Oracle, IT
« Ответ #32 : Июня 03, 2016, 13:37:41 »
Uncle_V,  :alc: