Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  raportid märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
Example
HV vaatleja

liitunud: 15.02.2011




sõnum 30.03.2011 13:57:41 raportid vasta tsitaadiga

Tere , oleks vaja teha sellist asja ,et igale kasutajale kes võttis tegevusest osa, tuleks raport pärast tegevuse toimumist. Raporti sisus oleks kõik kasutajad kes võtsid tegevusest osa ning summa, palju see kasutaja tegevusele panustas.

Sooviks just teada milline peaks olema andmebaasi struktuur.
tagasi üles
vaata kasutaja infot saada privaatsõnum
neros
HV Guru
neros

liitunud: 26.11.2003




sõnum 30.03.2011 17:29:21 vasta tsitaadiga

Raid attendance tracker? icon_razz1.gif

(inside joke, if you don't get it, don't worry)

Teoorias siis midagi sellist


users:
id
handle
password
<muu data>

locations:
id
name

events:
id
location_id
date
user_id (created by)

users_events:
id
user_id
event_id

performances:
id
event_id
user_id
performance



Users siis kasutajad, Locations siis evendi toimumiskohad, Events siis konkreetsed eventid mis mingi Useri poolt loodud kindlasse Locationisse (ehk siis many-to-one relationship Locations ja Users tabeliga).

user_events siis many-to-many suhte abitabel (eeldusel et sa mingit ORMi kasutad, vastasel juhul võid kasvõi performances tabeli ära jätta ja performance fieldi samma panna).

performances siis tegeliku performanssi jaoks, omab many-to-one suhet eventide ja useritega.

Oli endal tarvis kunagi midagi samasugust teha.
Kommentaarid: 48 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum
Example
HV vaatleja

liitunud: 15.02.2011




sõnum 30.03.2011 19:48:25 vasta tsitaadiga

Tänud!
tagasi üles
vaata kasutaja infot saada privaatsõnum
2korda2
HV kasutaja

liitunud: 19.07.2003




sõnum 12.05.2011 14:38:55 vasta tsitaadiga

Vana teema aga märgin ära, et madedog toodud lahendus ei ole lõpuni hea. Tabel Performances on kas üldse liigne (veerg performance lisada tabelisse users_events) või kui äriloogika lubab mitut tulemust ühe osaleja kohta ühel sündmusel, siis performances tabelis peaks olema veerud:
id
users_events_id
performance

PS. mitmuses tabeli nimed ei ole üldiselt hea toon.
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum
neros
HV Guru
neros

liitunud: 26.11.2003




sõnum 13.05.2011 13:29:04 vasta tsitaadiga

users_events on many-to-many abitabel, samas kui performances on konkreetne tabel kuhu saab sisestada nt kommentaare vms. see "performance" field on abstraktne, st ta võib olla rating, rating+comment, ainult comment... Selle kohta ma ütleks pigem, et 'whatever floats your boat'.

Singular ja plural tabeli nimetuste koha pealt võib vaielda lõputult. Seni kuni kõik on konsistentne, on asi korras. Mina jälgin üldiselt railsi konventsioone, ehk plural table names, singular model names.

_________________
GitHub
.NET Core & Azure baasil lahendused ja arhitektuur - kontakt.
Kommentaarid: 48 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum
2korda2
HV kasutaja

liitunud: 19.07.2003




sõnum 13.05.2011 14:48:34 vasta tsitaadiga

madedog,
dubleerid ju kahes tabelis:
id
user_id
event_id

Sellel pole mõtet. Võib öelda ka, et users_events on ülearu - seal pole grammi eestki rohkem infot, kui tabelis performances.
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  raportid
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.