Kas oskate soovitada kirjandust, kust saaks näiteid ja infot kuidas PostgreSQLis objekt-relatsioonilisest tulenevaid võimalusi ära kasutada ning sellega kaasnevaid plusse ja miinuseid (lisaks kasvavale keerukusele)?

Postitas Erki Eessaar 22.03.2023 20:13 (muudeti 18.08.2023 15:50)
PostgreSQL on objekt-relatsiooniline andmebaasisüsteem. Kirjutan objekt-relatsioonilisusest SIIN. Muuhulgas on seal ka pikemalt koos koodinäidetega juttu PostgreSQLi objekt-relatsioonilisuse võimalustest.

Objekt-relatsioonilisusest (OR) tulenevate võimaluste kasutamist ei ole ma päriselu andmebaasides väga palju kohanud. Mulle endale tundub pakutavatest võimalustest kõige kasulikum massiivitüüpide kasutamine veergude ja parameetrite tüüpidena, uute vahemiku tüüpide loomine ning kasutamine ja operaatorite loomine. Kui lugeda OR võimaluste hulka ka andmebaasis suurte objektide (nt failide) salvestamine, siis on ka see kasulik.

Uute baastüüpide loomine - võimalik, kuid PostgreSQLi juba olemasolevate andmetüüpide suur hulk tähendab, et see on vajalik pigem erandjuhtudel.

Loendustüüpide kasutamine veeru tüüpidena - selle asemel oleks parem luua klassifikaatorite tabelid, millele välisvõtmete kaudu viidatakse. Loendustüüpide veeru tüübina kasutamise probleemide kohta on kirja pandud SQL disaini antimuster (Kirjelda veeru võimalikud väärtused osana veeru definitsioonist), mida kirjeldatakse SQL-andmebaaside disaini antimustrite raamatu 11. peatükis:
https://learning.oreilly.com/library/view/sql-antipatterns/9781680500073/f_0068.html


Tabelite loomine pärimise kaudu - tõsiseks piiranguks on, et alamtüüpi olem ei kuulu välisvõtme kitsenduse kontrolli mõttes ülatüüpi. Lisaks eelviidatud dokumendile kirjutatakse pärimise kaudu tabelite loomise võimalustest ja probleemidest SIIN alates slaidist "Baastabelite loomine pärimist kasutades" (slaidid 16-22).

Mõned lõputööd, kus neid teemasid on käsitletud:

Hinda postitust:

Keskmine hinne : Pole veel hinnanguid!