2014-11-29 16 views
0

Я создаю систему бронирования кинотеатров, используя приложение формы Windows C#. Я использую массив кнопок для создания макетов мест. Однако я наткнулся на блокпост. Одна из функций моей программы - хранить информацию о клиентах в базе данных MYSQL. Программа также должна отслеживать историю клиентов (резервирование, приобретение билетов). История клиентов должна отображаться при открытии профиля. Здесь у меня проблемы. Я позаботился о сохранении и удалении общей инфляции клиента (имя телефона, электронная почта ...). Я попытался создать другую таблицу в базе данных MYSQL и сохранить все действия, выполненные клиентом. Я также разместил listview в программе (форма C# windows), где я планирую разместить историю клиентов (загружать информацию из базы данных в список).C# windows Form и MYSQL

Как связать историю с клиентом?

Я также попытался создать таблицу, содержащую все имена клиентов и другую информацию. И для каждого клиента создайте «таблицу истории». Но этот путь был бы проблемой, потому что мне нужно создать таблицу для каждого нового клиента (сохранить свои зарезервированные билеты и другие истории), что было бы ужасным программированием (если возможно создать таблицу вне базы данных MYSQL).

Спасибо Дайте мне знать, если вопрос не достаточно конкретный.

+0

Что вам нужно, не имеет ничего общего ни с чем в ваших тегах или заголовке: вам нужно изучить основы дизайна базы данных. Google - ваш друг, а также ручка и бумага ..! Боюсь, этот вопрос не подходит для этого сайта. – TaW

ответ

0

Я предполагаю, что у вашего пользователя есть уникальный идентификатор, либо userid, либо guid, либо уникальный логин. Допустим, у вас есть только идентификатор входа в качестве уникального идентификатора, в этом случае (если вы не хотите добавлять столбец userid auto_increment) просто добавьте поле «пользователь» в таблицу истории и свяжите их.

Правильный способ - иметь внешний ключ, но, видя, как вы начинаете, просто добавляя уникальное поле (или создавая уникальное поле в своей пользовательской таблице) и ссылаясь на этот столбец из всех других таблиц будет прекрасно.

Не забудьте индексировать уникальный столбец для быстрого поиска в;)

Успехов,

bovako

+0

Да, каждый клиент имеет идентификатор пользователя в качестве уникального идентификатора. То, что я не понимаю в вашем комментарии, это строка «поле« пользователь »в таблицу истории и связать их». Что вы подразумеваете под «полем». Вы предлагаете мне создать одну таблицу истории и связать ее с каждым клиентом через это «поле». Спасибо за помощь – NewEraCoder

+0

Извините, я не имел в виду колонку. Итак, пока каждая таблица имеет столбец, к которому вы можете присоединиться, вы получаете только соответствующие результаты. Но, я думаю, вы поняли это в конце. :) Спасибо за ответный знак. Очень признателен. –

0

Создать атрибут для customerID в таблице, где хранятся данные каждый раз, когда в клиент покупает билет или резерв.

Это будет использоваться, когда вам нужно будет проверить историю покупок и бронирования билетов. Все, что вам нужно сделать, это присоединиться к таблице клиента через customerID в вашем запросе с помощью таблиц транзакций, чтобы получить имя клиента.