dunno1921 Ответов: 1

Создание базы данных в mysql workbench


Я новичок в mySQL, просто чтобы быть ясным.

Итак, я должен создать эту базу данных, которая будет подключена к приложению c#.
Идея состоит в том, чтобы подать заявление на усыновление собаки или кошки. Вы можете войти в систему или зарегистрироваться, а затем, войдя в систему, вы можете перемещаться по меню, где одна кнопка-это кнопка home, где видны все объявления, затем другая кнопка для собак и другая кнопка для кошек, и в конце концов кнопка add, где вы можете добавить кошку или собаку для усыновления.

Моя главная проблема - это дизайн таблиц базы данных.
Пользовательская таблица должна быть составлена из столбцов с именем, фамилией, логином, паролем. Но нужна ли мне таблица с типом объявления (кошка или собака) или я могу просто сделать таблицу собака/кошка, где один столбец будет представлять тип объявления?
Следует отметить, что один пользователь может добавлять много объявлений, но одно объявление может иметь два типа объявлений (кошка/собака)..
Чтобы уточнить, я хочу убедиться, что когда пользователь находится в форме добавления, он может убедиться, что он добавляет кошку или собаку, и когда он нажимает кнопку Добавить, объявление, которое он размещает, появится в форме, где оно принадлежит..

Я надеюсь, что это имеет смысл ... спасибо вам за вашу помощь!

Что я уже пробовал:

Я попытался смоделировать базу данных с помощью диаграммы EER, а затем сделал базу данных с помощью forward engineering, чтобы получить код, но я не уверен в точности кода и будет ли он правильно работать для приложения

BillWoodruff

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

1 Ответов

Рейтинг:
1

CHill60

Во-первых, не храните пароли в базе данных. Смотрите эту статью Хранение паролей: как это сделать.[^]

Вы также можете найти это полезным Логин Пользователя Для Приложений WinForm[^]

Если бы это был я, у меня была бы одна таблица для объявлений с колонкой типа "кошка", "собака". Это делает его легко расширяемым, если вы хотите начать принимать черепах, например.

В этой таблице вам понадобится столбец, который "указывает" на пользователя, которому он принадлежит, - внешний ключ.
Если вы боретесь с дизайном, то эти статьи также могут вам помочь Нормализация базы данных (объяснено на простом английском языке) - Essential SQL[^], 11 важных правил проектирования баз данных, которым я следую[^ или возьмите хорошую книгу на эту тему.


dunno1921

Спасибо за вашу помощь.
Кроме того, если я помещаю столбец типа, то какой тип данных я должен использовать, если этот один столбец может получить только значение cat или dog?

CHill60

Ну вы могли бы начать с

varchar(25)
и на самом деле храните текст "кошка", "собака", "черепаха" и т. д. С каждой строкой. Пуристы сказали бы хранить "кошку", "собаку", "черепаху" и т. д. В отдельной таблице с уникальным целочисленным идентификатором строки для каждого. Тогда у вас будет int вместо этого колонка на вашем главном столе. Однако я бы просто пошел с типом varchar.

BillWoodruff

+5