Премини към съдържанието

Стилиян Велинов

Потребител
  • Публикации

    1
  • Регистрация

  • Последно онлайн

Харесвания

0 Неутрална репутация

Всичко за Стилиян Велинов

  • Титла
    Новобранец
  1. Здравейте, Студент последна година съм и заданието за дипломната ми работа е "Софтуер за фитнес клуб". Правя го на C#, използвайки Windows Forms и Visual Studio 2012. Започнах да правя нещо и стигнах до създаването на релациите в базата данни и връзките между тях. Първо трябва да си направя качествено БД за да продължа нататък. Използвам вградената в студиото СУБД. А сега същинската част: До момента съм замислил със сигурност да ги има следните таблици: Клиенти, Служители, Абонаменти, Продукти, Доставки, Доставчици, Заплати, Работни графици, Оборудване. Мисля, че ми трябват още 2 таблици - една за приходи и разходи, която за момента съм я кръстил Баланс, и една за провеждане на тренировки между конкретни инструктор и клиент. Идва ред на атрибутите на релациите: за Клиенти - Id, FirstName, LastName, SubFrom, SubTo, SubType, AddedAt, NumberRenewings, Email и PhoneNumber. На български те са съответно - идентификационен номер, име, фамилия, абонамент от(дата), абонамент до(дата), тип абонамент, добавен на(регистрация на клиенти в БД - дата), брой подновявания(на абонамента), ел. поща и телефон. Може би е добро и един атрубут инструктор - дали ползва или не (true/false). за Служители - Id, FirstName, LastName, FirstWorkDayDate, MonthSalary. На български съответно - първите 3 са ясни, дата на постъпване и месечна заплата. Идеята тези две таблици да са отделени една от друга е: първо, че във всяка от тях има специфична информация, която не е нужна в другата таблица - т.е. ще има доста полета с NULL стойност; второ, че така ще си улесня заявките. В самото приложение, оттам и в базата данни, мисля да има 3 роли за служител - шеф, който има достъп до всичко, инструктор, който може да си провери графика, с кои клиенти работи и т.н., и касиер, който да регистрира нови клиенти, подновява абонаменти и т.н. за Продукти - Id, Name, Amount, Barcode, Group, LastDeliveryDate, FutureDeliveryDate. От английски се подразбира, но все пак - идентификационен номер, име на продукт, количество, баркод, група (аминокиселини, протеини и пр.), дата на последна доставка и дата на бъдеща доставка. за Абонаменти - Id, Name, Price, Duration(months). Съответно - идентификационен номер, име, цена, продължителност(в месеци). за Доставки - Id, Provier, Date, Price, Amount. Идентификационен номер, доставчик, дата, цена, количество. Идеята е в тази таблица да присъстват всички доставки - т.е., очаква се да има много редове за 1 продукт, но идеята все пак е пълен отчет. Може би тук е мястото, където да имам атрибути - доставна цена и продажна цена. Останалите таблици не съм ги разписал толкова подробно, но идеята като цяло е: В Доставчици да пазя ид на доставчик, име на фирмата доставчик, адрес, телефон за връзка, e-mail и подобни. В Работни графици да пазя ид, ид на служител, смяна, работно време, дата и т.н. За всеки ден тук ще се пази кой кога е на работа В Баланс - да има ежедневен отчет за приходи и разходи - ид, дата, вид на операция (приход или разход), не се сещам за други полета, но със сигурност трябват. В Оборудване - ид, име (например дъмбел 5 кг.), брой, дата на доставка, брой ремонти, срок на годност, дата на бъдеща смяна, цена при закупуване. Нещо подобно. В Заплати - за всеки месец ще съхраняваме информация кой служител каква заплата е взел - ид, ид на служител, месец и година, пари, още нещо? Пълен отчет. Във все още безименната таблица, в която да се опише тренировката между клиент и инструктор - ид-та и на двамата, дата на провеждане, начален час, краен час, цена (може би). Тук помагайте. Първични ключове във всички таблици е полето Id. Като цяло май това са таблиците за момента. И ако кажем че за тях имам идея, то за връзките между тях ще имам нужда от помощ. Със сигурност трябва да има връзка между Служители и Заплати. Id на служител в таблицата за Заплати, тоест Id на служител ни е вторичен ключ в Заплати. Трябва да има връзка и между Клиенти и Служители - да можем да проверим за всеки клиент дали ползва инструктор, и ако да - кой? И обратно - инструктор да може да види кои са му клиенти. Т.е., излиза че и в двете таблици, трябва да има вторичен ключ от другата таблица. Отделно в таблицата за тренировка, трябва да ги има отново Id-тата на клиент и инструктор - може би реално тази таблица е връзката между Служители и Клиенти. Осъзнавам, че се получава излишък на информация, но целта ми е: първо, да мога лесно/директно да проверя на даден клиент кой му е инструктор например, и второ - ако правя заявка да е по-лесна. В Доставки трябва да има Id на продукт от таблица Продукти, т.е. е вторичен ключ. Доставчици и Доставки също трябва да имат връзка помежду си. Id на доставчик в Доставки. Ще се радвам някой да прочете разсъжденията ми и да сподели съвет - как да променя релациите, атрубутите или връзките между тях. Ще бъде бонус ако се отзове и някой с опит в програмирането на C# и по-специално вградената СУБД в Visual Studio. Предварително благодаря! Поздрави!
  • Разглеждащи това в момента   0 потребители

    Няма регистрирани потребители разглеждащи тази страница.

×
×
  • Добави ново...