áá ááĽá!
áááąá áááááŤá˝áá áĽáááĽááá
á áá
ááááś ááŁáĽá ᣠá ááá ááłáŽá˝ áááľ ááťáá ᣠá áá°áá áŞáŤ ááľáĽ áŤáá á¨áá¨á áá´á âá¨á፠á á
áâ (ááá á¨áľááá á¨á°áá á ááá á¨ááá) ááá
âá¨áá¨á ááľâ áá
á¨á˝ áĽááłáá áľ ááá áĽááłáá áĽáááťááᢠáá ááľáŤáľ)ᢠááá°ááá á áŤááľ á ááá°áľáŁ ááŽáááľá
áá°á á¨ááᨠá áá áĽáŤáľá
á áá¨á
á á¨á
áá áĽá á¨áľáá ááłá áĽáŤáááá
ááá˘
á˝áá á¨á°ááá á áá
áá á¨áľ ááá˘
á áááá˝ ááľáĽ áľá Reddit á áľá°áłá˝ ááááśá˝
áŽáľ áááá¨áľ
ᨠjOOQ áá á áá°ááá jOOQ á áá ááá á¨áá°áŤá á¨ááá áŽáľ áááá¨áľ áá á ááá á¨á°áá°áą á¨á°á áááá˝ áľáá˝ ááá ááአááá á áľáááááᢠJOOQ áĽááłáľá áá ááá á áá¨áááá á ááá áŽáľ áááá¨áľ áĽááľáľá áá á áŤáľááľáľá áᢠááá áá ááŁáŞá (á áááŞáŤá áá áĽáá°á°ááá¸á) ᨠjOOQ áá á áĽáŽ á¨ááľáŤáľ áá´ á (á¨áá¨) á¨ááἠááł ááľá á áááá ᨠjOOQ áŽáľ áááŹá°áá á áá áá áááá˛áľ á ááá¨á á°áá á¨áŚá˝áá á¨áááá á¨áááŞáŤ áááá˝á ááááľ áĽá á¨á፠ááááľ áááᢠááĽááá á á¨á´ááá˝ á áľá°ááá áĽáŤááá˝
for (Record2<String, String> record : DSL.using(configuration)
// ^^^^^^^^^^^^^^^^^^^^^^^ ĐĐ˝ŃĐžŃПаŃĐ¸Ń Đž ŃипаŃ
вŃводона на
// ĐžŃнОвании ŃгоноŃиŃОваннОгО кОда, на кОŃĐžŃŃĐš ŃŃŃНаоŃŃŃ ĐżŃиводоннОо
// ниМо ŃŃНОвио SELECT
.select(ACTOR.FIRST_NAME, ACTOR.LAST_NAME)
// vvvvv ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ŃгоноŃиŃОваннŃĐľ иПона
.from(ACTOR)
.orderBy(1, 2)) {
// ...
}
áŽáą á¨áááá¨á á¨ááŁáá áá ááá á áĽá
á áĽáŤááłááą áľáĽá°áŁ ááᢠáááłá, áĽáá˛á
ááááą áĽáľáłáľ áá˛áŤáá á áá áá¨á°á áá˝áá
ááá áŽáľ áááá¨áľ
á áá á˝áá ááľáĽ á áááá á¨ááááááŁá¸á á¨á°ááŤáŠ áááľáááá˝áŁ áĽá áá˝ áĽá ááłáśá˝ á¨áŽáľ áááá¨áľ áá á¨á°áŤáŤá - á áĽá áĽá á ááśáá˛á - á á ᢠááá áá á á á ááá á¨ááá¨á áŽáľ á á ááá ááĽáĽ á áľáááłá˝á ááľáĽá áá á¨áą áá á¨ááááľá°áá "áĽáááľ" á á፠áááľáá áŤáľá˝ááá. á á ááťáŠáŁ áŽáááá°áŽá˝ áŁááľáŽáľáŁ áá˝á áŽáľ ááá áá ááááľ ááá áŽáľ á˛áŤááአá¨ááŤá°áááľ áá áá - áአááááŤáśá˝ ááá á˘ááá á¨áá âáĽáááľâ á áá ááá áááá áĽáááááá˘
áĽá áĽáá°áá
áŤá á¨áŽáľ ááááŤáá˝ á á. áááłá,
- á ááłááľ áĽáááľ (ááľáŁáá áá ááŤá) á á - áááłá áááá ááááŤáŁ á¨ááἠáá´áᣠááá°.
- á ááŽááŤá á ááŁáĽ áááá˝á á¨áá á áĽáááľ á¨á áŤáŁá˘ áááá áĽááááááá˘
á¨áá á á áá á°á°áááááľá áááľáááľ áááá áááľ ááťáá áĽáá˛á ááááąá áááá áááá¨áľ á°áᢠáá.
á áááľ á á áŤá˘áá˝ áĽá ááĽáŤáŞáŤ áá°áľ
ááľáłááťáĄ á jOOQ á¨ááá ááᣠáá áἠáááá áĽá á¨á°áᨠá ááŤá¨áĽ á áááľ á á
áŤá˘áá˝á áĽá¨á°á áá áááŁ
á¨áá¨á°ááľ á áľá°ááᣠáĽáá° ááááŞáŤá áááł á°ááłáłá áááŽá˝ áĽáá áá¨á°áłááĄ-
- á¨ááá¨áá áŽáľ á áŤáŠáľá (ááááŁáľ áá áááł áá ááľ á°á áĽáá á á¸áŤá áááľáá?)
- ááááśá˝ áááᥠáĽáá°áá˝á áá¨ááἠá ááĽááľ, áááľá, "áĽáááľ" áááá ááááľ á áá áľ. áá á áááŚá ááłá áá ááá áá, áĽáąá "áĽáááľá" áŤáĽáŤáŤá. á ááááľ á ááá á¨ááĽáł áááááľ áá á ááá°á¨áą á¨ááἠááł áá´áá˝ áľáá˝ á¨á°ááłá°á ááá˘
áŽáľ á¨áááá¨áľ á˝áá áááľáá?
áŽáľ áááá¨áľ áĽáá´áľ ááťáá á¨ááá á°ááŽáá áĽáŤá á á°á¨á᪠- á áĽá ááá á áŤáľ-á°á ᣠáŽáľ áááá¨áľ á ááŤá˝ á áŤáľáááá áĽáá á¨ááŤáá á°áá˝ áĽááłá ááĽááľ á ááĽáᢠáĽá áá áŤáá áá á¨áá á áááŤá¨áľ áá¨áááŤ, á¨ááŤá á¨áááŁáł á§áá§á áááááľ á áľá¸á᪠áá. á á á áŁá á¨áŁáľ ááᢠá°á¨á᪠á¨áá á¨á° áááľ ááŞáá˝ áááłá. á á ááľ á¨á°áá°á áááľ (JOOQᣠááá JAXBᣠááá Hibernateᣠááá°) áĽá¨áááá ââá¨ááᣠá¨áááľ á áŤáŁá˘á áááááľ áá á¨áááľáľáĽá á¨áá á¤áá áá á áŤáą á ááá á¨ááłá áá áá áľááááľáľ ááᣠáľááá á á¨áĽáą áá áááŁáľ áĽááľáľá˝á .
á¨áááŹá°áŠá ááá á á¨áá¨áłáľ áá á¨á°áŤáŤá ááŞáá˝ á áŁá áĽá á¨áá, á áĽáááĽ, á¤áá á á áŽáľ áááŹá°á á á ááá áá á°áŤá áľáŤ á°ááˇá (áĽá á áá áá á¨á°á áááá áá ááľ ááľáĽáľáĽ áá). ááĽáá°áá á áááą á¤áá á á á ááá á¨áá°áá á áľá፠á¨áá°á á ááá á áá áľá˘ áá áá á áŽáľ áááá¨áľ áá á ááľ áááá áĽáť ááᢠáŤáá áááŤáŁ á¨ááľáŁáá áá ááŤá áĽáááľá á áŤáŁá˘áŤá áááá ááťá áá á áá á áĽá ááá˘
áĽááá˝ áá áá áá áááľá¨á áá áĽáá°ááá¸á ááááŤá. ááąáá áááłá¸á á¨áá áá°áĽ áĽáŤáááŁá¸á ááᢠá ááľ áá á¨áá°áĽá°á˘áŤ ááááŁáá˝á áĽáá¸áłáá, áá ááá¨áá. áĽáááľáá¸ááááĄ-
ááá áá á Hibernate/JPA á¨á፠áŽáľ ááá á áŁá ááá ááá˘
á áĽáááľá˘ á Hibernate áĽá áá°á áááášáŁ áá áááąá á á¨á¨áľ áĽá áĽáááá ááᢠá Hibernate ááľáĽ áĽáá°áá áŤá áááľ á áŤááľá á ááá ááťá áá˝áá-
@Entity
class Book {
@Id
int id;
String title;
}
áĽá ááá ááá áááľ ááťáá ááá ááᢠá áá áá á áá á áŤá á áĽááľá SQL âááŹâ á˛á¤áá¤á ááľáĽ áĽáá´áľ áĽáá°áááá˝ ááľáĽáľáĽ âááááŽá˝áâ áááá á áĽáľá¨ Hibernate áľá¨áľ ááá˘
CREATE TABLE book (
id INTEGER PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
title VARCHAR(50),
CONSTRAINT pk_book PRIMARY KEY (id)
);
CREATE INDEX i_book_title ON book (title);
... áĽá áá°áá áŞáŤáá ááľáŹáľ ááááŠ. á ááĽááľ ááááá áĽá á¨á°ááŤáŠ áááŽá˝á áááá¨á á áŁá áĽáŠ á ááŁáá˘
á˘áááᣠáĽáŁáá áááľááᢠáĽá¨áá¸á áá áá˘
- Hibernate á áĽáááą á¨áá á¨á°á°á¨ááá áá ááá ááş á°ááŁáŤá áŤá°ááá?
- Hibernate á TITLE ááľáĽ áá¨á á áá áááĽáŤá? - á áĽááá áááľ áĽáá°ááŤáľáááá á ááááá˘
- Hibernate á áľááá áá á ááá á ááááľ áááá ááľáĽ áĽáá˛áá áŤá°áááá?
ááááŁáľ á áá°áá. ááŽáááľá á á¨áŁáś áĽáŤáłá áá á¨áá á¨áľáŽáá áłáłá¤á á ááá ááŁá áĽá á áľááááá ááĽáŤáŞáŤ áĽáá°á¨á¨áľá á á˛áľ áááá¨áľ ááááá ááš ááᢠáľááá ᣠá¨áá˝áá á áŤá á áá¨á¨áť á¨áá¨á°ááá á á˝ áááľáłááĄ-
@Entity
@Table(name = "book", indexes = {
@Index(name = "i_book_title", columnList = "title")
})
class Book {
@Id
@GeneratedValue(strategy = IDENTITY)
int id;
String title;
}
áĽáŠ. áĽáá°áá áááá¨áľá˘ á áľáá, á áá áááł ááááŞáŤ áá á áŁá ááá áááá.
áá á áá áááá á ááĽá
ááĽáá ááá ááááś áá° áááľ áááľ á ááĽááľ. áá áá´á ááľáŤáľ á¨ááŤááá áŤá ááᢠááááŤáąááĄ-
á áááľ ááľáĽ, á áľááá á¨áá, á¨áľáŽáá á¨ááἠááł ááŁá áĽá á¨áŁáś áááá á ááťáá. á¨ááἠááłá á ááľ ááááá˘
á¨á áá ááᎠáĽá ááááá ááá á ááĽááľ
áľááá áá° áááľ á¨áᥠá áá áľáŠáľ áááľá°á áŤáľáááááłá. áĽá á ááĽááľ áá° áááľ áááŁáľ á ááŁá¸á. ááááľ á¨áľá°áľ áááá˝áá ááľááł á¨á§á᧠ááľáá áľááááá áĽá áľááá°áŤá áááá ááá á á°áἠáŤáľá°áŤáááᢠáĽá á¨á፠á áá áááá ááá á áľááá áááľáŤáľ áá á¨áááľáᢠáĽá Hibernateá áľá°á¸ááá ᣠááááŤáąá ááá á¨áá á°á áĽááľ áĽáá á áá° á áá°áá á...
áááááľ áááŽá˝ áá á¨ááááŞáŤá áá˝á á á°áᨠááááľ áá°á¨á áá˝á áá áᢠáááłá, áἠáááá˝á á áĽáľáááľ áá áŤáľáá.
á¨ááἠááł ááááŞáŤ
á áá¨á ááľá
ááľáĽ áŤáá áĽááá°áá "áĽáááľ" áĽá á áĽáą áá áŤáá "ááááááľ" á áá¨á ááą ááľáĽ ááᢠáááááĽáŠ á áŤáą á áá¨á ááą ááľáĽ áĽáť áĽá á á¨áľááá áŚáł ááááťá, áĽá áĽáŤááłááą á°áá á á¨áá
ááľá á
á á áá, áľááá
á¨áááááĽáŠá áĽá á¨á áá ááááŤáá á áľááá áá°áá á, á áá¨á ááą ááľáĽ á áľááá áááľáŤáľ áášá ááááŤáłá áá - áá¨áá á¨áľ áá. á°á¨áá˝áˇá.
áá
á áŽá áá, áĽáá˛áŤáá á¨á°á áá áĽá áĽ. áá áĽá áአáááá˝ áĽáŠ áá¸á. á¨áá áááá˝ áĽáŠ áá¸á. áá°áŚá˝á ááá°á˝ áĽáŠ áá.
á¨áá á á áá áá áĽáť á áá°áá. áááłáᣠOracleá á áá ááᣠááááŁáľ á¨áá¨á°ááá áááá˝ áááá ááááá˘
- á á¨á´áá á á¨áľáá á¨á á¨á´á áŚáł áá áá?
- ᨠPCTFREE ááá áľááľ áá?
- á á á°á á°á¨á°áá ááľáĽ áŤáá á¨áá¸á፠áá á áľááľ áá (á¨ááłáááŤá á áľá°áááŁ)
á áľááá˝ áľáááśá˝ ááľáĽ áá á áľááá áááá áá˝ááᣠááá áá áá° áľáá á¨ááἠá፠áĽáľááľáᥠáľá¨áľ áá á á á ááááĽááľáâá¨áá áĽáá°á°á ááąáľ áśá áśá á¨á á áŤá˘áá˝ á¨ááááĄáľ á¨áá¨ááť ááťáťáŤáá˝ á°á áá ááá áá˝ááᢠáŤá¨áá¸á ORMáá˝ ááľáĽ á ááłá¸áá (jOOQá á¨ááŽ) á áá¨á ááľá ááľáĽ áá áááŁá¸á á¨áá˝áá¸áá áá á¨á˛á˛á¤á á ááŤáŽá˝á á áá°áĄáᢠORMs á˛á˛á¤áá áááťá á¨áá¨áąááľá á ááłááľ ááłáŞáŤáá˝á áŤáááŁáá˘
ááá áá á áá áááŁá°á áá á á°áἠá¨á°áá°á áá¨áł á á˛á˛á¤á ááľáĽ á áĽá á¨á°áťá áá. ááááá á¨ááᨠDDL á¨áĽáą áááłá áĽáť ááá˘
áľá á°áá á áá´ááľ?
á¨áá áĽáá°á°á áá°á á á°áá áá áá á¨ááἠááłá ááľá á á, á¨á°áá á áĽááł áŤáľáááááłá. ááĽááľ á áŤáľááááᣠáá á¨á°áá á áĽááł á¨áľááááá áá´á áá áááłá°á á áá áľá˘ áá á áááááľ á¨áá á¨á°áťáá ááááľ áááľá áá? áŽáľ áááŹá°á á áá ááá˘
ááá á¨ááἠááłáá˝ ááł áá¨áá¸áá á SQL á áŠá áá°áŁáᢠáááá á áá á¨áŚá˝ á¨ááἠááłá á á°ááŤáŠ á¨SQL ááŹáá˝ áĽáá´áľ ááááľ áĽáá°áá˝á áĽáááĄ-
-- H2, HSQLDB, MySQL, PostgreSQL, SQL Server
SELECT table_schema, table_name
FROM information_schema.tables
-- DB2
SELECT tabschema, tabname
FROM syscat.tables
-- Oracle
SELECT owner, table_name
FROM all_tables
-- SQLite
SELECT name
FROM sqlite_master
-- Teradata
SELECT databasename, tablename
FROM dbc.tables
áĽááá
áĽáŤááá˝ (ááá á°ááłáłáᣠáĽááľá áĽááłáá˝áᣠááłá áĽááłáá˝áᣠá á°áá á¨áĽ áá áŤáá¸áá á°ááŁáŤáľ áááľ ááľáĽ ááľááŁáľ áĽááłááŚáľ áá á áááľá¨áľ) áĽáá˛á á áá°áá ááá¸ááᢠDatabaseMetaData.getTables()
á¨áĽáá°áá á áááľ áá ááá˝ áá¤áśá˝áŁ á á°áá áá áá á¨ááľá ááá áľ á´áááá ááá ááá áá á¨ááἠááłá á áá´á á¨á°áá á ááá áááá ááá á á á ááťáŤáááľ ááá ááá˘
- JDBC ááá Spring áĽá¨á°á áá á¨ááᣠá¨ááĽá¨ááá áááá˝ áľáĽáľáĽ ááá á áá˝ááá˘
- JPA á á¨á°á áá á áá á áŤááľá áŤáłá¸á áááá¨áľ áá˝ááá˘
- jOOQ á¨á°á ááᣠᨠjOOQ ááł-áá´áá áááá¨áľ áá˝ááá˘
á á°áá áá á¤áá á (áááłá jOOQ ááá JPA) áá áŤá
á á°ááŁáŤáááľ áĽáá°áááἠáá á áááľá¨áľ á¨ááá¨á ááł áá´á á áĽáááą ááĽáłá áĽá á¨á°áá ááá áá˝ááᢠáááłá ᣠá¨á°ááá᪠ááááá áĽáľáá áĽááá°áľ áŁ
á áá ááááá á¨ááἠááł áá¨áá á¨á°áá ááá áŽáľ á áŤáľ-á°á áŤááááᢠáĽáľá˛ á áľáĄáľáĄ-
ALTER TABLE book RENAME COLUMN title TO book_title;
áá á áĽáŤ áááľ áá ááĽáŤáľ á áĽááἠááááá? á ááá áááłá˘ á ááá á˛á˛á¤áá áŤáľááĄáŁ á áááŁáł á§á᧠ááľááá ááľáĽ áŤáľáŞáąáľ áĽá á¨ááááá á áŤá áŤáááĄ
@Entity
@Table(name = "book", indexes = {
// ĐŃ ĐžĐą ŃŃОП СадŃĐźŃваНиŃŃ?
@Index(name = "i_book_title", columnList = "book_title")
})
class Book {
@Id
@GeneratedValue(strategy = IDENTITY)
int id;
@Column("book_title")
String bookTitle;
}
ááá á¨áááá jOOQ áááᢠá áĽááááš á¨á˛á˛á¤á áááŚá˝ á ááŁáĽ áĽáť áłááá á¨áľááá áľáá ááľ ááá á°á˝áá áŤáłáľáŤáᢠáľááá ᣠá áá¨á ááľá áá¨áá áá á áááľ áŽáľ áĽáá°áááł (ááá áááł áĽáá°áá˝á) ááá¨áľ á¨á°á ááá¨áá áŽáľ áááá¨áľ á áá ááá áá˝ááá˘
áĽá¸áá áĽáááľ
ááá á áááľ á´áááá á˘á áá áá ááłááľ áááľ áľáááśá˝ áĽá¸áá á¨áĽáááľ ááá á ááľ áá´á á á - ááá á˘áŤááľ ááá
áĽá¨áľ ááľá¨á áĽá á¨áĽáá°áá
á áááľ á¨áľáá
áľ á፠áááŁáľ ááŤá
á ááĽá ᣠâáĽáááľâ á ááá áŚáł áĽá á á ááľ áá á¨áá . ááá ááá á áŁá ááá ááá áá˝áá. á¨á¤ááľá¤áá¤á áááá˝á á¨áá áĽáááľ áá á¨ááľáááᥠá¨ááᣠXSDá áĽáť á°á ááᢠá¨INFORMATION_SCHEMA ááł-áá´áá ᨠjOOQ á XML ááá áááá¨áąáĄ-
- XSD á á°áἠá°á¨áľáˇáá˘
- XSD á¨á¤ááľá¤áá¤á áááľá á á°áἠáŤáłáŤá áĽá á ááá á¨á°áá á ááááá˝ áá¨áááĽá ááá áłá
- XSD á áĽáŠ áááł á¨á°áťáťá áĽá á¨áá á¨áá á°áłááááľ á ááá˘
- XJC á áá áá áá° á፠áŽáľ áá°á¨áá áá˝ááá˘
á¨áá¨á¨áťá ááĽáĽ á áľááá áá. á¨á¤ááľá¤áá¤á áááááśá˝á á áá áá á¨ááŤá áľáááľ áá áľáááá áááĽááśáťá˝á áľáááá áááá¸áá áá¨ááἠáĽááááááᢠáá JAXBᣠXJC áĽá XSD á áá áá áááááľ á áŁá ááá ááᢠáááĽááśáťá˝áá á¨á፠áĽááá˝ á áľááá á ááá°áŤá áľ á "Java first" á¨ááľá á á°áŤá áĽáá°ááá á á ááľááľ áá° á¤ááľá¤áá¤á á°áááá ááááł áá° áá áľáá áľ ááá áá˝áá áĽá áá°áĽ á áŁá áĽáĽá°áľ ááᢠá áá ááááľ á¨áááá¨á XML áĽáŤáľ á¨áááᣠá°ááľ á áᣠáĽá áááłá á á áľá¸á᪠ááááᢠááĽáá°áá á áááą á áááá˝ á¨á áááááľ á°á¨á áľááááľ (á¤áľá¤áá¤) áŤá áá˛áŤáá áĽááááááá˘
áĽáá° áĽáááą á¨áá á JSON á¤áá ááá˝ áááá á¨áááá áá ááᣠáá ፠áá áłáŞá ááᣠá áááĽáá áá áĽá¨áá¨ááá...
áłáłá¤áᥠá ááľ á áááľ áá¸áá˘
á¨áá¨á ááśá˝ áá á˛á°áŠ, ááá á áá á¨áą á°ááłáłá áááá¸áá áááááŁá. áá°á¨áą á¨áŤáą ááἠá áá áĽá áĽá áąá ááľá°áłá°á á áá áľá˘ á áĽá áą áá á¨á°á°á¨á ááťáťáŤáá˝ á ááľ áá á á¨áĽáááľ ááá áĽáá˛ááá á á˛á˛á¤á ááľáĽ á ááĽáł áá°áá á á áá áľá˘
á¨ááá ááá á˛á¨á°áľ ááá á°áá áá˝ á¨á ááłáŤá á áááťá¸áá áááá á ááŁá¸áᢠá ááłááľ á°áá áá˝ jOOQ áĽá Hibernate ááá JDBC (ááá áááąáá) á áá áá á á፠ááá áá˝ááᢠááá˝ á°áá áá˝ á ááá (áááŤá áĽáľá áĽááááá) ááá áá˝áá, ááá˝ á°áá á C # ááťá áá˝áá. ááá á˝áá á¨ááá. ááá áá´á á áá¨á ááą ááľáĽ áá. ORMs á áá áá á¨ááááŠáľ áá´áá˝ á á áĽááá áĽáŤáľ á¨ááá¸áᣠá á°áἠáŤáá°áááᥠáĽá áááłá á á áľá¸á᪠áá¸áá˘
áľááá á áľáłáłáľá˘ áá á¨ááááŞáŤá áľá á°áľ á áľáľáŠ. á¨áá¨á ááą ááľáŠá˘ á ááśáá˛á ááá á¨áá˝á á¨áá°ááŞáŤ á§á᧠ááááĄá˘ á¨ááἠááłáá áá´á ááá áłáľ ááá áááľá¨á á¨áŽáľ ááááŤáá˝á áŤáá áĽá á á°áá áá˝ áá ááĽááľá˘ áĽá áľá áŽáľ ááááŤáá˝ áá¨áá áá áŤáá. áĽáŠ áá¸á. á áĽááą á ááŤáááľ á¨á áá áá¤áłá áááá. áá á¨ááááŞáŤá áĽááąá á áááá áľáá˝ áá ááłáá áŤáľáááááłá - áĽá á¨á፠á¨á°á¨á᪠áááłáááľ áááłáľ áá áĽáááłá ᣠáá á á¨ááŽáááľáá áłáŞá ááááá˘
á ááá á áłáá°áááᣠá ááá˘
ááĽáŤáŞáŤ áĄáĄ
ááá˝ áááľá¨áᥠáá á˝áá á¨ááἠááłá á áá´á áááá á áááá áľáááľ (áááľáᣠááŤáŁ á˘áááľ áááᣠááá°áŁ ááá°) áá á áĽáá°ááŤáľáááá á ááá ááááľ á áá°áááᢠá áá á˝áá ááľáĽ á¨ááá á¨áá¨á ááą áá á¨ááááá á¨á°áá á áŽáľ á áłáłá¤á áá´á áá á°áááŠá ááľáŤáľ áŤáá áľ áŤáą á¨áá¨á ááąá áá´á á "á áá°á á°á¨á" á°á¨á áĽááłáá°áŤá ááᢠáá á áááᎠáĽááá áá á á°áá áá áá áŁáá á¨ááἠááłá¨áť ááĽááĽá áá ááááá˘
á á ááłááľ áŚáłáá˝ á ááá á°á áĽáá á ááá áááľ-á°á¨á á ááá´ááśá˝ ááľáĽ, áĽáá˛á ááááą á¨áľáááľ áá´á áĽá¸áá ááá áá˝áá. ááá ááᣠá á áĽááááš á˛áľá°áá˝ á¨ááἠááłá¨áť ááĽááĽá á¨áá¨á ááąá áá´á á¨áá¸áá "áááľ áľáááľ" ááľá ááłá¨ááá˘
ááŠááśá˝
ááĽáŤááłááą á á áአáááłáá˝ á áᣠáĽá á áľááľá á°áááŹá áá á¨ááἠááł-á¨ááááŞáŤ áĽá á¨ááá-áŽáľ áááá¨áľ á áŤááľ á ááłááľ áá á ááŁáĽááľ á¨áááᢠá¨áĽááá áአáááłáá˝ ááľáĽ áĽááśáš áĽáá á á (ááááŁáľá ááá˝ ááአáá˝áá)
- áááááĽáŠ á áááłáá á áľ áá áĽá ááááľ á˛ááá áľ. áááłá áĽááľá á°á áááá˝ áááááá áľááá ááá፠áĽáá˛áŤáľáą á¨ááŤáá ááłáŞáŤ á á áŤá˘ áááľá˘ á§á¨ áĽáá ááá áŽáľ áááá¨áľ á¨áá. áá á ááá á¨ááἠááłá ááááŞáŤ áááŁá.
- á ááłááľ á˝áá ááááłáľ á á á¨áŤ áá á ááľ áá¨áł ááá á á áá áľ áá. áá
ááłá áľáá˝ á¨ááŤáá á¨áľááá°-áĽááľ áľáŞáľ áááľáá
á¨á áá á áŤá áĽá´áľ ᣠáááľáᣠá áľááá á ááá á¨á°ááá áĽá áľ á¨áááľáᢠá áá á ááŁáᣠRDBMS ááĽááľá áĽáá°ááľáá áĽááá á ááá áĽááłá á áá˝ááá˘
ááŠááą á á°ááĽáŽ áአááᢠá á áĽááááš ááłáŽá˝ ᨠRDBMS á á áááá á áááá¨áą ááłáŽá˝ ᣠáááááĽáŠ á áľááľá ááłááá ᣠá RDBMS ááľáĽ áááŤá áĽá âá¨áĽáááľâ áĽá¸áá ááá áá ᣠáĽá ááá á°áá áá˝ á¨áĽáą á¨á°áá á
ááá˝á ááááľ á ááŁá¸áᢠá ááłáĽ á°á¨á, á ááľ áŽáľ áááŹá°á áá áá á ááĽááľ.
ááá: hab.com