Ungazihumusha kanjani izimfuneko zebhizinisi ezinhlakeni ezithile zedatha usebenzisa isibonelo sokudizayina isizindalwazi sezithunywa kusukela ekuqaleni.
- Ingxenye 1: ukuklama uhlaka oluyisisekelo
Ingxenye 2: isigaba "senzuzo"
Isisekelo sethu ngeke sibe sikhulu futhi sisatshalaliswe,
Ngakho-ke, ngeke sithinte izindaba zokwabelana, ukuphindaphinda kanye nezinhlelo ezisabalaliswa nge-geo, kodwa sizogxila kuzixazululo zesekethe ngaphakathi kwesizindalwazi.
Isinyathelo 1: Ezinye izici zebhizinisi
Ngeke siklame imilayezo yethu ngokusobala, kodwa sizoyihlanganisa nemvelo
Futhi yini imisebenzi yebhizinisi? .. Ake sibheke isibonelo sikaVasily, inhloko yomnyango wezokuthuthukiswa.
- "Nikolai, kulo msebenzi sidinga isiqeshana namuhla!"
Lokhu kusho ukuthi izincwadi zingenziwa esimweni sabanye idokhumenti. - "Kolya, uya e-Dota namhlanje kusihlwa?"
Okusho ukuthi, ngisho nepheya elilodwa labaxhumanisi lingaxhumana kanyekanye ngezihloko ezihlukahlukene. - "Peter, Nikolay, bheka okunamathiselwe kuhlu lwamanani eseva entsha."
Ngakho, umlayezo owodwa ungaba abamukeli abambalwa. Kulokhu, umlayezo ungaqukatha Amafayela anamathiselwe. - "Semyon, bheka futhi."
Futhi kufanele kube nethuba lokungena ezingxoxweni ezikhona mema ilungu elisha.
Asigxile kulolu hlu lwezidingo “ezisobala” okwamanje.
Ngaphandle kokuqonda imininingwane esetshenzisiwe yenkinga kanye nemikhawulo enikezwe yona, klama ngempumelelo I-schema yedatha yokuyixazulula cishe akunakwenzeka.
Isinyathelo sesi-2: Isekhethi Enengqondo Encane
Kuze kube manje, yonke into isebenza ngokufana kakhulu nezincwadi ze-imeyili - ithuluzi lebhizinisi lendabuko. Yebo, "i-algorithmically" izinkinga eziningi zebhizinisi ziyefana, ngakho-ke amathuluzi wokuzixazulula azofana ngokwesakhiwo.
Masilungise umdwebo onengqondo osuvele utholiwe wobudlelwano bebhizinisi. Ukuze senze imodeli yethu iqondeke kalula, sizosebenzisa inketho yesibonisi yakudala kakhulu
Esibonelweni sethu, umuntu, idokhumenti kanye "nomzimba" kanambambili wefayela kuyizinhlangano "zangaphandle" ezikhona ngokuzimela ngaphandle kwesevisi yethu. Ngakho-ke, sizovele sibabone ngokuzayo njengezixhumanisi ezithile “ndawana thize” nge-UUID.
Dweba imidwebo elula ngangokunokwenzeka - abantu abaningi ozobakhombisa bona ababona ochwepheshe bokufunda i-UML/IDEF. Kodwa qiniseka ukudweba.
Isinyathelo sesi-3: Ukudweba isakhiwo setafula
Mayelana namathebula namagama enkundlaAmagama "isiRashiya" amasimu namatafula angaphathwa ngendlela ehlukile, kodwa lokhu kuyindaba yokunambitha. Ngoba i
Njengoba abantu abaningi besibhalela imiyalezo ngesikhathi esisodwa, abanye babo bangase bakwenze lokhu okungaxhunyiwe ku-inthanethi, ke inketho elula kakhulu sebenzisa ama-UUID njengezihlonzi hhayi kuphela izinhlangano zangaphandle, kodwa futhi zonke izinto ngaphakathi service yethu. Ngaphezu kwalokho, zingakhiqizwa ngisho nasohlangothini lweklayenti - lokhu kuzosisiza sisekele ukuthumela imilayezo lapho isizindalwazi singatholakali okwesikhashana, futhi amathuba okushayisana aphansi kakhulu.
Isakhiwo setafula esalungiswa kusizindalwazi sethu sizobukeka kanje:
Amathebula : RU
CREATE TABLE "Тема"(
"Тема"
uuid
PRIMARY KEY
, "Документ"
uuid
, "Название"
text
);
CREATE TABLE "Сообщение"(
"Сообщение"
uuid
PRIMARY KEY
, "Тема"
uuid
, "Автор"
uuid
, "ДатаВремя"
timestamp
, "Текст"
text
);
CREATE TABLE "Адресат"(
"Сообщение"
uuid
, "Персона"
uuid
, PRIMARY KEY("Сообщение", "Персона")
);
CREATE TABLE "Файл"(
"Файл"
uuid
PRIMARY KEY
, "Сообщение"
uuid
, "BLOB"
uuid
, "Имя"
text
);
Amathebula: EN
CREATE TABLE theme(
theme
uuid
PRIMARY KEY
, document
uuid
, title
text
);
CREATE TABLE message(
message
uuid
PRIMARY KEY
, theme
uuid
, author
uuid
, dt
timestamp
, body
text
);
CREATE TABLE message_addressee(
message
uuid
, person
uuid
, PRIMARY KEY(message, person)
);
CREATE TABLE message_file(
file
uuid
PRIMARY KEY
, message
uuid
, content
uuid
, filename
text
);
Into elula uma uchaza ifomethi ukuqala "ukuqaqa" igrafu yokuxhuma kusukela kumathebula okungabaluliwe bona kumuntu.
Isinyathelo sesi-4: Thola izidingo ezingabonakali
Yilokho kuphela, siklame i-database ongabhala kuyo kahle futhi ngandlela-thile funda.
Masizibeke ezicathulweni zabasebenzisi benkonzo yethu - yini esifuna ukuyenza ngayo?
- Imilayezo yokugcina
Yilokho kuhlungwe ngokulandelana kwesikhathi ukubhaliswa kwemilayezo "yami" ngokusekelwe kumibandela ehlukahlukene. Lapho ngingomunye wabamukeli, lapho ngikhona umbhali, lapho bangibhalela khona futhi angizange ngiphendule, lapho abazange bangiphendule, ... - Abahlanganyeli bezincwadi
Ubani obamba iqhaza kule ngxoxo ende, ende?
Isakhiwo sethu sisivumela ukuthi sixazulule zombili lezi zinkinga “ngokujwayelekile,” kodwa hhayi ngokushesha. Inkinga ukuthi ukuhlunga ngaphakathi umsebenzi wokuqala ayikwazi ukudala inkomba, elungele ngamunye wabahlanganyeli (futhi kuzodingeka ukhiphe wonke amarekhodi), futhi ukuxazulula elesibili olidingayo khipha yonke imilayezo kulesi sihloko.
Imisebenzi yomsebenzisi engahlosiwe ingase ibeke isibindi ukuwela ekukhiqizeni.
Isinyathelo sesi-5: I-Smart Denormalization
Zombili izinkinga zethu zizoxazululwa ngamathebula engeziwe esizokwenza kuwo phinda ingxenye yedatha, okudingekayo ukwenza kuzo izinkomba ezifanele imisebenzi yethu.
Amathebula : RU
CREATE TABLE "РеестрСообщений"(
"Владелец"
uuid
, "ТипРеестра"
smallint
, "ДатаВремя"
timestamp
, "Сообщение"
uuid
, PRIMARY KEY("Владелец", "ТипРеестра", "Сообщение")
);
CREATE INDEX ON "РеестрСообщений"("Владелец", "ТипРеестра", "ДатаВремя" DESC);
CREATE TABLE "УчастникТемы"(
"Тема"
uuid
, "Персона"
uuid
, PRIMARY KEY("Тема", "Персона")
);
Amathebula: EN
CREATE TABLE message_registry(
owner
uuid
, registry
smallint
, dt
timestamp
, message
uuid
, PRIMARY KEY(owner, registry, message)
);
CREATE INDEX ON message_registry(owner, registry, dt DESC);
CREATE TABLE theme_participant(
theme
uuid
, person
uuid
, PRIMARY KEY(theme, person)
);
Lapha sisebenzise izindlela ezimbili ezijwayelekile ezisetshenziswa lapho kwakhiwa amathebula asizayo:
- Ukuphindaphinda amarekhodi
Sisebenzisa irekhodi lomlayezo wokuqala, sakha amarekhodi ambalwa okulandelela ezinhlotsheni ezahlukene zamarejista kubanikazi abahlukene - kokubili komthumeli kanye nomamukeli. Kodwa irejista ngayinye manje iwela kunkomba - phela, esimweni esivamile, sizofuna ukubona ikhasi lokuqala kuphela. - Amarekhodi ayingqayizivele
Ngaso sonke isikhathi uma uthumela umlayezo phakathi kwesihloko esithile, kwanele ukuhlola ukuthi lokho okufakiwe sekuvele kukhona yini. Uma kungenjalo, yengeze “kusichazamazwi” sethu.
Engxenyeni elandelayo yesihloko sizokhuluma ngayo
Source: www.habr.com