Как объединить две таблицы в одну схему БД - PullRequest
0 голосов
/ 24 апреля 2020

Я новичок в логи базы данных c. У меня есть Owners и Borrowers таблицы для системы аренды. Оба они имеют одинаковые поля, такие как «электронная почта, имя пользователя, пароль и т. Д. c». а также они отличаются друг от друга.
Мой вопрос: Как я могу объединить эти похожие поля в одну таблицу, потому что я почти уверен, что моя реализация неверна. Другая проблема заключается в том, что я не могу правильно определить отношения между Items и Item_statusesenter image description here

1 Ответ

1 голос
/ 24 апреля 2020

Когда вы разрабатываете свои таблицы, вы организуете их не по сходству названий столбцов, а по отношениям между ними.

Ваш дизайн работает, вы можете просто удалить Создайте таблицу 'item_statuses' и создайте столбец 'status' в таблице 'items'.

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

  • Как часто владелец будет заемщиком?
  • Должен ли я отслеживать все статусы предмета?

Если человек часто является заемщиком и владельцем, мы закончим с дублирующимися записями в нашей базе данных, поэтому мы создадим только одну таблицу с именем 'users' с обязательными полями и будем ссылаться на внешние ключи в Таблица «items» для пользователей.

Если вам нужно отслеживать все статусы элемента, создайте отдельную таблицу с именем 'items_log' с полями типа 'Date' и внешним ключом, который ссылается на item в таблице items.

Я бы также отслеживал всех заемщиков данного элемента, поэтому я могу создать таблицу item_borrowers с заемщиком, который ссылается на пользователя, и с item, ссылки на элемент с полями типа «Дата».

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...