Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > C/C++: Базы данных > таблица в таблице


Автор: pesekot 03.12.11, 18:01
всем привет.
Нужно реализовать БД ЖКХ
1 таблица - пользователь: адрес, квартира, инициалы, и так далее.
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    CREATE TABLE `abonent` (
        `Kod_adresa` INT(11) NOT NULL,
        `street` VARCHAR(60) NOT NULL,
        `house` INT(11) NOT NULL,
        `flat` INT(11) NOT NULL,
        `room` INT(11) NOT NULL,
        `initials` VARCHAR(50) NOT NULL,
        `number` INT(11) NOT NULL,
        `aream` INT(11) NOT NULL,
        PRIMARY KEY (`Kod_adresa`)
    )

2 таблица - квитанция: № квитанции, тип платежа, цена по норме, льготы и так далее.
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    CREATE TABLE `kvutan` (
        `kod_adresy` INT(11) NOT NULL,
        `nom_kvutan` INT(11) NOT NULL,
        `services` VARCHAR(50) NOT NULL,
        `debt` FLOAT NULL DEFAULT NULL,
        `prices` VARCHAR(50) NULL DEFAULT NULL,
        `count` FLOAT NULL DEFAULT NULL,
        `recount` FLOAT NULL DEFAULT NULL,
        `hose` FLOAT NULL DEFAULT NULL,
        `allk` FLOAT NULL DEFAULT NULL,
        `allpay` FLOAT NULL DEFAULT NULL,
        PRIMARY KEY (`kod_adresy`)
    )

вопрос: Как можно реализовать, чтобы код адереса который я ввожу в таблицу квитанция был один, а записей тарифов и цен много?
например:
user posted image
а уже по коде адреса я смогу переслать ее абоненту с таким адресом

Автор: Densource 04.12.11, 05:21
В квитанциях убери первичный ключ, либо построй его по полям Адрес, Сервис, Плательщик

Автор: Bas 10.01.12, 10:43
Цитата Densource @
В квитанциях убери первичный ключ, либо построй его по полям Адрес, Сервис, Плательщик

Оставить надо но на поле номера квитанции (не должно быть двух квитанций с одинаковым номером).
Цитата pesekot @
а записей тарифов и цен много?

Создать таблицы товаров купленных на эту квитанцию.

Автор: vetalbon 17.04.12, 16:13
Ой что ты ту намудрил

Автор: MIF 17.04.12, 20:07
Разбей таблицу квитанция на две: квитанцияHeader(id, код адреса, дата...) и квитанцияLine (id квитанции, id услуги, цена, количество и т.д.).

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)