Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос по структуре и организации таблиц...(состав 
:(
    Опции темы
Parker
Дата 2.3.2005, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 2.3.2005

Репутация: нет
Всего: нет



Вопрос по структуре и организации таблиц...(составные ключи)

СУБД FireBird 1.5 (InterBase)

// Обычный платеж (Банковская квитанция)
CREATE TABLE PAY (
ID_PAY INTEGER NOT NULL,
NAMBER_PAY VARCHAR (5) NOT NULL ,
DATE_PAY DATE NOT NULL,
SUM_PAY DECIMAL (6, 2) NOT NULL),
CONSTRAINT PK_PAY PRIMARY KEY (ID_PAY);

// ----
CREATE TABLE LICENCE (
ID_LICENCE INTEGER NOT NULL,
SERIES VARCHAR (2) NOT NULL ,
LICENCE_COST DECIMAL (5, 2) NOT NULL,
....
DATE_BEGIN DATE,
DATE_END DATE,
//--- ID_PAY INTEGER, // ??????
CONSTRAINT PK_LICENCE PRIMARY KEY (ID_LICENCE);

//----
CREATE TABLE TICKET (
ID_TICKET INTEGER NOT NULL,
SERIES VARCHAR (2) NOT NULL ,
TICKET_NUMBER INTEGER NOT NULL,
DATE_GIVE DATE,
....
//--- ID_PAY INTEGER, // ??????
CONSTRAINT PK_TICKET PRIMARY KEY (ID_TICKET);

//---
CREATE TABLE CRIME (
ID_CRIME INTEGER NOT NULL,
CRIME VARCHAR (20) NOT NULL ,
DATE_CRIME DATE,
NOTE VARCHAR(255),
....
//--- ID_PAY INTEGER, // ??????
CONSTRAINT PK_CRIME PRIMARY KEY (ID_CRIME);

Как красиво(правильно) организовать связи и структуру table 'PAY'
Что бы потом можно было организовать выборку из PAY
зная за что платеж.. ???
клиент планируется Delphi.
Может можно как-нибудь в PAY создать составной ключ
при этом указать имя таблицы или что-нибудь подобное..
PM MAIL   Вверх
sanik
Дата 8.3.2005, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 23.12.2004

Репутация: нет
Всего: 1



Parker

Объяснил бы в двух словах кто кому должен и кто за что получает бабки.....
На беглый взгляд много чего не хватает - типа есть список краймов, а соответствия ...типа объянения нахрена козе баян не видно....

Надо полагать:

TABLE PAY
ID_PAY - чисто уникальный внутренний нумератор
NAMBER_PAY - номер платежки
DATE_PAY - это понятно как типа когда заплатил
SUM_PAY - это скоко

TABLE LICENCE список типа лицензий... на отстрел лосей
ID_LICENCE
SERIES
LICENCE_COST
DATE_BEGIN
DATE_END

TABLE TICKET это похоже на штрафы, но как и что не понятно....
ID_TICKET
SERIES
TICKET_NUMBER
DATE_GIVE

TABLE CRIME - про это уже спросил
ID_CRIME
CRIME
DATE_CRIME
NOTE

Это сообщение отредактировал(а) sanik - 8.3.2005, 18:51
PM MAIL ICQ   Вверх
Sleepy_PIP
Дата 8.3.2005, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 512
Регистрация: 30.6.2004
Где: Moscow

Репутация: нет
Всего: 12



Цитата(Parker @ 2.3.2005, 15:02)
Вопрос по структуре и организации таблиц...(составные ключи)

СУБД FireBird 1.5 (InterBase)

// Обычный платеж (Банковская квитанция)
CREATE TABLE PAY (
    ID_PAY INTEGER NOT NULL,
    NAMBER_PAY VARCHAR (5) NOT NULL ,
    DATE_PAY DATE NOT NULL,
    SUM_PAY DECIMAL (6, 2) NOT NULL),
    CONSTRAINT PK_PAY PRIMARY KEY (ID_PAY);

// ----
CREATE TABLE LICENCE (
    ID_LICENCE INTEGER NOT NULL,
    SERIES VARCHAR (2)  NOT NULL ,
    LICENCE_COST DECIMAL (5, 2) NOT NULL,
     ....
    DATE_BEGIN DATE,
    DATE_END DATE,
//---    ID_PAY INTEGER, // ??????
   CONSTRAINT PK_LICENCE PRIMARY KEY (ID_LICENCE);

//----
CREATE TABLE TICKET (
    ID_TICKET INTEGER NOT NULL,
    SERIES VARCHAR (2)  NOT NULL ,
    TICKET_NUMBER INTEGER NOT NULL,
    DATE_GIVE DATE,
    ....
//---    ID_PAY INTEGER, // ??????
   CONSTRAINT PK_TICKET PRIMARY KEY (ID_TICKET);

//---
CREATE TABLE CRIME (
    ID_CRIME INTEGER NOT NULL,
    CRIME VARCHAR (20)  NOT NULL ,
    DATE_CRIME DATE,
    NOTE  VARCHAR(255),
    ....
//---    ID_PAY INTEGER, // ??????
   CONSTRAINT PK_CRIME PRIMARY KEY (ID_CRIME);

Как красиво(правильно) организовать связи и структуру table 'PAY'
Что бы потом можно было организовать выборку из PAY
зная за что платеж.. ???
клиент планируется Delphi.
Может можно как-нибудь в PAY создать составной ключ
при этом указать имя таблицы или что-нибудь подобное..

пользуй к примеру PowerDesigner. там все увидишь сам, если не видишь на уровне скриптов.
Более конкретные пожелания будут при более конкретной постановке задачи.

а вообще по БД - тебе лучше в раздел Intebase.
т.к. я например с ходу 20 сек) - не понимаю что такое у тебя "платеж" ...


Это сообщение отредактировал(а) Sleepy_PIP - 8.3.2005, 15:16


--------------------
--
Sleepy_PIP. Pavel Pryazhentsev (ex. 2:5020/141) "... Лучше быть нужным, чем
свободным ..."
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Общие вопросы по базам данных"
LSD
Zloxa

Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:

  • вопросам по СУБД для которых нет отдельных подфорумов
  • вопросам которые затрагивают несколько разных СУБД (например проблема выбора)
  • инструменты для работы с СУБД
  • вопросы проектирования БД
  • теоретически вопросы о СУБД

Данный форум не предназначен для:

  • вопросов о поиске разлиных БД (если не понимаете чем БД отличается от СУБД то: а) вам не сюда; б) Google в помощь)
  • обсуждения проблем с доступом к СУБД из различных ЯП (для этого есть соответсвующие форумы по каждому ЯП)
  • обсуждения проблем с написание SQL запросов, для этого есть форум Составление SQL-запросов
  • просьб о написании курсовой, реферата и т.п., для этого есть Центр помощи или фриланс биржа
  • объявлений о найме специалистов, для этого есть раздел Объявления о найме специалистов

Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение. ;)


Полезные советы:

При написании сообщения постарайтесь дать теме максимально понятное название. В теме максимально подробно опишите проблему. Если применимо укажите: название базы данных и версии (MySQL 4.1, MS SQL Server 2000 и т.п.); используемых язык программирования; способа доступа (ADO, BDE и т.д.); сообщения об ошибках.

Для вставки кода используйте теги [code=sql] [/code].

Литературу по базам данных можно поискать здесь.

Действия модераторов можно обсудить здесь.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | СУБД, общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0413 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.