Jump to content
php.lv forumi

Datubāzes struktūra....


goma smile

Recommended Posts

Iedomājieties jātaisa priekš daudz lietotāiem(5M), struktūra priekš lietotājiem.... ko es domāju...

 

2 veidu lietotāi, 1. Privātpersonas, 2.Uzņemumi...

 

Un man ir prātā ideja...

Tabula #1 Lietotāji....

 

1. id

2. name (Lietotāja īstais vārds Vai uzņemuma nosaukums)

3.surname (Ja lietotājs tad uzvārds)..4

4.Epasts (Neatkarīgi no tipa būs kā ielogošanās)

5. Tips (Un te izdala vai fiziska vai juridiska persona)

6. Avatārs (Lietotāja bilde, vai firmas logo...)

7.Parole

8.Hash

9. current timestamp

 

Tabula #2 Lietotāja_info (Lielākoties tā būs informācija tikai lietoāja profilā..)

 

1.id

2.Lietotāji.user_id

3.Telefona nummurs.... (Sakristu neatkarīg no tipa)

4.Mājas lapa (Sakristu neatkarīg no tipa)

5.Fax

6.Nozare

7.kkādi reģistrācijas nummuri

8. blablabla kas tik vēl nevarētu būt...

9.pedeja login ip

 

Domājiet šāda struktūra ir pareiza ?

Edited by goma smile
Link to comment
Share on other sites

vispārīgos vilcienos jā..
bet 1 userim var būt teiksim 100 telefoni, 100 e-pastu utt..
pat 50 adreses - dažādās valstīs ..
es teiksim darītu šādi
user_table:
user_id
e-mails
paswords
vārds/ firmas nosaukums
uzvārds
Firmas rek, nr- vai Personas kods
tips( jur/ fix) 
--
Un tabulas
#telefons

 

tel_id 
user_id
tel_numurs
---------------

#Adrese
adr_id
user_id
adreses lauki

---

Apmēram tā 

---

Un tie kas saka ka 1 userim nekad nebūs vairāk kā 1 telefons ...

---

Es parasti visu strukturu uzzīmēju uz papīra - tad vizuāli ātri var atķert kļūdas ( uz datora nez kāpēc tas ir grūtāk )

Link to comment
Share on other sites

vispārīgos vilcienos jā..

bet 1 userim var būt teiksim 100 telefoni, 100 e-pastu utt..

pat 50 adreses - dažādās valstīs ..

es teiksim darītu šādi

user_table:

user_id

e-mails

paswords

vārds/ firmas nosaukums

uzvārds

Firmas rek, nr- vai Personas kods

tips( jur/ fix) 

--

Un tabulas

#telefons

 

tel_id 

user_id

tel_numurs

---------------

#Adrese

adr_id

user_id

adreses lauki

---

Apmēram tā 

---

Un tie kas saka ka 1 userim nekad nebūs vairāk kā 1 telefons ...

---

Es parasti visu strukturu uzzīmēju uz papīra - tad vizuāli ātri var atķert kļūdas ( uz datora nez kāpēc tas ir grūtāk )

 

Jā pa telefoniem, adresem, bankas kontiem es jau biju domājis ;)

Link to comment
Share on other sites

Kontakiem taisu atsevišķu tabulu:

  • id
  • user_id
  • media_type enum (tel,fax,mob, adrese, ..)
  • media
  • notes
  • Deleted

Tad var likt vienā tabulā cik grib un kādus grib kontaktus. Piezīmes arī labi noder. Deleted vajag gadījumam, ja uz ierakstu ir refrence.

Edited by l27
Link to comment
Share on other sites

Es teiktu, ka vajag:

 

1) Ja zināms, cik būs lietotāju, varbūt zināms vairāk un var paredzēt, kādi lietotāji tie būs. Attiecīgi veidot struktūru.

 

2) Iesākumam lieki neko nesarežģīt; viena tabula, tajā visi lauki, katram lietotājam viens meils, utml. Ja kāds daunis grib pielikt visus savus 50 e-pastus, tad pats vainīgs. Nē, tas nav "nekad nebūs", bet 99.999% gadījumu nebūs. Nav jāizdabā tam 0.001%, bet max ātri jāuztaisa lietojams visiem pārējiem.

Link to comment
Share on other sites

Kontakiem taisu atsevišķu tabulu:

  • id
  • user_id
  • media_type enum (tel,fax,mob, adrese, ..)
  • media
  • notes
  • Deleted

Tad var likt vienā tabulā cik grib un kādus grib kontaktus. Piezīmes arī labi noder. Deleted vajag gadījumam, ja uz ierakstu ir refrence.

 

Kāpēc aprobežoties tikai ar kontaktiem?

Tā jau var taisīt pilnīgi visiem propertijiem: paroles hešiem, nosaukumam, utt.

Kas, ja lietotājs pēkšņi grib 2 paroles vai 4 nosaukumus?

user_properties

---------------------

-id

-user_id

-name

-int_value

-text_value

-date_value

 

</sarcasm>

Link to comment
Share on other sites

Codez, neefektīva struktūra. Ērtāk būtu glabāt "value" ar datiem un "type" ar datu tipu, pēc kā interpretēt "value" laukā esošos datus.

 

Starp citu, šādi iespējams izveidot tabulu ar visiem datu tipiem, bet no `user_properties` referencēties uz šo tabulu. Tāpat arī iespējams izveidot tabulu ar visiem iespējamajiem datiem, un properties tabulā atsaukties uz `id` no datu tabulas.

Link to comment
Share on other sites

lietotāja tipa lauks nepatīk - taisītu 3 tabulas - lietotājam, fiziskam personām, juridiskām personām un saiti no fizisko/juridisko personu tabulām uz lietotāja tabulu.

 

kas ja vajadzēs lietotāju kādam servisam/botam- kāds tips tam?

kas ja vajadzēs arī facebook/twitter/g+/elektroniskie paraksti lietotājus - kāds tips tiem?

 

pēc 10mitās tabulas ar typeid, 100 dažādām typeid konstantēm un 1000tā if(type==FOO) viss paliek nesmuki.

Link to comment
Share on other sites

100%, ka hash šādā gadījumā nav vajadzīgs, ja jau glabā plaintekstā gay.gif

 

Es to ideju piemēram domāju kad velies apstiprināt epastu, Lietotaja avatāru, jo draugiem.lv vienu brīdi bija "Bugs", ka bildi radija id.formāts un tā es spēju apskatīt statistiku...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...