Putunga raraunga Karere (waahanga 1): te hoahoa i te anga turanga

Me pehea e taea ai e koe te whakamaori i nga whakaritenga pakihi ki roto i nga hanganga raraunga motuhake ma te whakamahi i te tauira o te hoahoa i te putunga korero karere mai i te wahanga.

Putunga raraunga Karere (waahanga 1): te hoahoa i te anga turanga
Ko to tatou turanga e kore e rite te rahi me te tohatoha, rite VKontakte ranei Badoo, engari "kia penei", engari he pai - mahi, tere me te uru ki runga i te tūmau kotahi PostgreSQL - kia taea e koe te tuku i tetahi tauira motuhake o te ratonga ki tetahi waahi i te taha, hei tauira.

No reira, e kore matou e pa ki nga take o te tiritiri, te tukurua me nga punaha toha whenua, engari ka aro ki nga otinga ara iahiko kei roto i te paataka raraunga.

Hipanga 1: Ko etahi waahanga pakihi

E kore matou e hoahoa i a matou korero korero, engari ka whakauruhia ki roto i te taiao whatunga hapori umanga. Arā, kaore o tatou tangata e "whakarite noa," engari ka whakawhitiwhiti korero ki a raatau ano i roto i te horopaki o te whakaoti i etahi raruraru pakihi.

A he aha nga mahi a te pakihi?.. Kia titiro tatou ki te tauira o Vasily, te tumuaki o te tari whanaketanga.

  • "Nikolai, mo tenei mahi ka hiahia maatau i tenei ra!"
    Ko te tikanga ka taea te whakahaere reta i roto i te horopaki o etahi tuhinga.
  • "Kolya, kei te haere koe ki Dota i tenei ahiahi?"
    Arā, ka taea e te tokorua o nga kaikorero te korero i te wa kotahi i runga i nga kaupapa rereke.
  • "Peter, Nikolay, tirohia te taapiri mo te rarangi utu mo te tūmau hou."
    Na, kotahi te karere ka taea maha nga kaiwhiwhi. I tenei take, kei roto pea te karere Ngā kōnae āpiti.
  • "Semyon, tirohia hoki."
    A me whai waahi ki te uru atu ki nga reta o naianei karangatia he mema hou.

Me noho tatou ki runga i tenei rarangi o nga hiahia "mohio" mo tenei wa.

Ki te kore e mohio ki nga korero motuhake o te raru me nga here ka tukuna ki a ia, hoahoa whai hua te aronuinga pātengi raraunga ki te whakaoti i te reira tata taea.

Hipanga 2: Rorohiko Ararau Iti

I tenei wa, he rite tonu nga mahi katoa ki nga reta imeera - he taputapu pakihi tuku iho. Ae, "te tikanga" he maha nga raruraru pakihi e rite ana ki a raatau ano, na reira ka rite te hanganga o nga taputapu hei whakaoti.

Kia whakatikahia te hoahoa arorau kua riro mai mo nga hononga hinonga. Kia maamaa ake ai te maarama ki ta maatau tauira, ka whakamahia e matou te waahanga whakaatu tuatahi Nga tauira ER kaore he raruraru o nga tohu UML, IDEF ranei:

Putunga raraunga Karere (waahanga 1): te hoahoa i te anga turanga

I roto i ta maatau tauira, ko te tangata, te tuhinga me te "tinana" rua o te konae he hinonga "waho" ka noho motuhake me te kore o taatau ratonga. Na reira, ka mohio noa tatou ki a raatau i nga wa kei te heke mai ko etahi hononga "he waahi" na UUID.

Tuhia he maamaa noa nga hoahoa - ko te nuinga o nga tangata ka whakaatuhia e koe ehara i te tohunga ki te panui UML/IDEF. Engari kia kaha ki te tuhi.

Hipanga 3: Te tuhi i te hanganga tepu

Mo nga ingoa tepu me te maraKo nga ingoa "Russian" o nga mara me nga tepu ka taea te mahi rereke, engari he mea reka tenei. No te mea ko te konei i Tensor karekau he kaiwhakawhanake kee, a ka taea e PostgreSQL te whakaingoa ahakoa i roto i nga tohu, mena ka kua mau ki roto i nga korero, katahi ka pai ake taatau ki te whakaingoa i nga mea i runga i te maarama me te marama kia kore ai he rereketanga.
I te mea he maha nga tangata ka tuhi karere ki a matou i te wa kotahi, tera pea etahi o ratou e mahi penei tuimotu, katahi ko te whiringa ngawari whakamahia nga UUID hei tautohu ehara i te mea mo nga hinonga o waho, engari mo nga taonga katoa o roto i ta maatau ratonga. I tua atu, ka taea te hanga ahakoa i te taha o te kiritaki - ka awhina tenei i a maatau ki te tautoko i te tuku karere ina kore e waatea te papaaarangi mo te wa poto, a he iti rawa te tupono o te tukinga.

Ka penei te ahua o te hanganga ripanga tauira i roto i ta maatau putunga:
Nga Ripanga : 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
);

Nga Ripanga: 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
);

Ko te mea ngawari ki te whakaahua i tetahi whakatakotoranga ko te timata ki te "whakarewa" i te kauwhata hononga mai i nga ripanga kaore i te tohutoro ratou ki tetahi.

Hipanga 4: Rapua nga hiahia kore-marama

Koia, kua hoahoatia e matou he papaunga raraunga ka taea e koe te tuhi pai me te ahakoa te ahua panui.

Kia noho tatou ki roto i nga hu o te kaiwhakamahi o ta tatou ratonga - he aha ta tatou e hiahia ana ki te mahi?

  • Nga karere whakamutunga
    tenei kua whakaraupapahia he rehita o "aku" karere i runga i nga momo paearu. Kei hea ahau tetahi o nga kaiwhiwhi, kei hea ahau te kaituhi, i tuhi mai ratou ki ahau, a kahore ahau i whakahoki kupu, i reira kaore ratou i whakahoki mai ki ahau, ...
  • Nga kaiuru o te reta reta
    Ko wai kei te whai waahi ki tenei korerorero roa, roa?

Ka taea e to maatau hanganga te whakaoti i enei raruraru e rua "i te nuinga," engari kaore i te tere. Ko te raruraru ko te mahi i roto i te mahi tuatahi kāore e taea te hanga taupū, he pai mo ia o nga kaiuru (a me tango e koe nga rekoata katoa), me te whakaoti i te tuarua e hiahia ana koe unu i nga karere katoa mo tenei kaupapa.

Ko nga mahi a nga kaiwhakamahi kaore i te whakaaro ka waiho kia maia whakawhiti i runga i te hua.

Hipanga 5: Denormalization atamai

Ko o maatau raruraru e rua ka whakatauhia e etahi atu ripanga ka mahia e matou he wahanga takirua o te raraunga, e tika ana ki te hanga i nga taurangi e tika ana mo a tatou mahi.
Putunga raraunga Karere (waahanga 1): te hoahoa i te anga turanga

Nga Ripanga : RU

CREATE TABLE "РеестрСообщений"(
  "Владелец"
    uuid
, "ТипРеестра"
    smallint
, "ДатаВремя"
    timestamp
, "Сообщение"
    uuid
, PRIMARY KEY("Владелец", "ТипРеестра", "Сообщение")
);
CREATE INDEX ON "РеестрСообщений"("Владелец", "ТипРеестра", "ДатаВремя" DESC);

CREATE TABLE "УчастникТемы"(
  "Тема"
    uuid
, "Персона"
    uuid
, PRIMARY KEY("Тема", "Персона")
);

Nga Ripanga: 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)
);

I konei kua whakamahia e matou nga huarahi e rua e whakamahia ana i te wa e hanga ana i nga ripanga awhina:

  • Te whakarea rekoata
    Ma te whakamahi i tetahi rekoata karere tuatahi, ka waihangahia e matou etahi rekoata whai muri i nga momo rehita rereke mo nga rangatira rereke - mo te kaituku me te kaiwhiwhi. Engari ko ia o nga rehita inaianei ka taka ki runga i te taurangi - i muri i nga mea katoa, i roto i te keehi angamaheni, ka hiahia matou ki te kite i te wharangi tuatahi anake.
  • Rekoata ahurei
    I nga wa katoa ka tukuna e koe he karere i roto i tetahi kaupapa motuhake, he nui ki te tirotiro mena kei te noho kee te urunga penei. Ki te kore, tāpirihia ki tā mātou “papakupu”.

I te waahanga o muri o te tuhinga ka korerohia e tatou te whakatinanatanga o te wehewehe ki roto i te hanganga o to maatau paparangi raraunga.

Source: will.com

Tāpiri i te kōrero