αα
αα»ααααα
αα
αααα»αα’αααααααα αααα»αααΉααααα αΆαααΈαααααααααααααα·ααααα’αα»ααααΆαα±ααα’αααααααΎαααα»αααααΆαααααα αα·αα’αΆααα
ααΆααααΌαααααΆααα·ααααααααΆααααΆαααΆαααα αα αα·αααΆααααα½αααααα·αααΆαααΆαααααΆααααααΌαααΆαα½ααα
αααα»ααααααα·ααααΆααααα·ααααα·ααΆαα αα»αααΆαααααααααααΆαααααααΌαααΆαααααααΆααΆαα’αα»αααααα
αααα»α DBMSs ααΆαα·αααααααααααΎα (ααΆαα·ααα Oracle αα·α Microsoft SQL Server)α αα
α
α»ααααα
ααααα’ααααα αααα»αααΉααααα αΆαααΆα’αααΈααααα½αααααΆαααααΎ ααΎααααΈααΆααααΆαααααααΌαααΌα αα·αααΆαααααΎαααΆαααα’ααα
ααα·ααΆα
ααΌα ααΈαα»α ααΎααααΈαααααΆααααα αααΆαα αααα»αααΉαα αΆααααααΎαααΆααα·αααααΆααΆαα½αα§ααΆα αααα α αΌααα·ααΆαααΆααΎαααααΌαα’αα»αααααααααα·ααααΆαααααΉααααα‘αααααααΈααΆααααααΆαααΆαα½αααΉαα ααα½ααα»ααααα·ααα αααα»ααα½ααααα·αααααΆααααααα»ααααααα½αααα
αα αααα»αααΌαααααΆααα·αααααααα»αααΆα ααΆααΉαααΎααα ααΌα αααα
CLASS Department βΠΡΠ΄Π΅Π»β;
name βΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅β = DATA STRING[100] (Department);
CLASS Employee βΠ‘ΠΎΡΡΡΠ΄Π½ΠΈΠΊβ;
department βΠΡΠ΄Π΅Π»β = DATA Department (Employee);
salary βΠΠ°ΡΠΏΠ»Π°ΡΠ°β = DATA NUMERIC[10,2] (Employee);
countEmployees βΠΠΎΠ»-Π²ΠΎ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ²β (Department d) =
GROUP SUM 1 IF department(Employee e) = d;
salarySum βΠ‘ΡΠΌΠΌΠ°ΡΠ½Π°Ρ Π·Π°ΡΠΏΠ»Π°ΡΠ°β (Department d) =
GROUP SUM salary(Employee e) IF department(e) = d;
SELECT name(Department d), countEmployees(d), salarySum(d);
ααΆααααα»αααααΆαααααΆαααααα·ααααα·αααα½αααααα αααα»α DBMS ααΆαα½αααΉαααααΎααΉα O (α ααα½ααα»ααααα·α)αααααΆαααααΆαααααΆααααααααΌαα±ααααΆαααΆααααααααΆααΆαααΆααααΌααααα»ααααα·αα αΎααααααΆααααααΆααααΆαααα»αααΆαααΆααααααΆαα ααΆααααΉαααΆααα½αα ααα½αααΌα (ααΎαααΏααΆααΆααα»ααααα·αα αααΎαααΆαααΆααααααΆα) ααααααα’αΆαααααααΎαααααΆααααααΆαααααΎαααΎα O (ααααααααα ααα»αα»ααααα·α) α¬ O (α ααα½αααΆααααααΆα) αααααΆααααΆαααΆααααΆαααα»α αα·ααααααααααα
ααΆα αααΆααααΆααααΆααΆαααααα·ααααα·ααΎααααΆαα’αΆα αα»αααααΆαα αααα»α DBMSs ααααααααααΆ ααα»ααααααΆααααα»αααααΆαααΉααα·αααααΆααααααΌαααΆααα·ααΈααΆαα½αα‘αΎαα
αα αααα»αααΆαα’αα»αααααααααΆαααααΎα‘αΎα DBMS αα»αααΆαααΉααααααΎααααα½ααααα½ααααααΉαααααΆααααααααααααΌαααΆααααααΆααααΆααααααΆα α αΎααααααΆααααααααΎααΆα JOIN ααΆαα½αααΆααΆαααΆααααααΆαααΎααααΈααα½αααΆααααααα ααααααΆαααΆααααα αααααΆαααα»αααΆαααΈαα½αα αα ααααααααΆα ααΆα’αΆα ααααααααααΆαααααΆαα MATERIALIZED αα·αααααΆαα ααααααααααΉααααααΎαααΆααααααααΌαααααΆαααααααααααααααα·αααααΆαααα»αααΆαααΈαα½ααα αα αααααααΆααααααΌααααααααα’αα»αααα αααααααααΆαααααΉαααααΆααααααΌααα αααα»αααααα·ααααα·ααΆαααΌα ααααΆαααα αα αααα αΌαααααΎαα»αααΆαααα ααΆααααααΆαααααΆααΆαα»αααΉαααααΌαααΆαα αΌαααααΎα
ααΆαα·αααααααα·αααΎα’αααααααα MATERIALIZED αααααΆαααα»αααΆα ααΆαααα»ααααα·α ΠΈ ααααΆαααααααααααααααΆαααα ααΆαα ααα½αααΈαααΉαααααΌαααΆααααααααα αααα»αααΆααΆαααΆαα½αααΉααααααΈααααΆααααααΆα αααααΉααααααΆαα»αα ααα½ααα»ααααα·α αα·αααααΆααααααα»ααααααα½αααα αα αααααΆαααααΆαααΆαααααΆααααααΌααα»ααααα·α ααααΆαααααααααα α¬ααΆαααΆααααΆαααααααααααααΆααααααΆα ααααααααααΉαααααΆααααααΌααααααααααΆαααΆααααααααααααααααααααα·α αααα½αααΆαααΎααΉαα αΌαααααΎααΆαααΆααααααααααααΆαα α αΎαααΉαααααΌαααΆαααααα·ααααα·αααα»α O (α ααα½αααΆααααααΆα).
ααΎααΆαααΆαααΉααααααΉαα’αααΈαααα? ααΆαααααΏααα½αααα»αααααα αα»αααΆαααααααααααΌαααααΆαα ααα½ααααααααααααααααα αΌαααααααααααααααΆααααΌαααΆααααααα ααΎαα·αααΌα αααααα ααΆααΉααα·αα’αΆα αααααΎαααΆααΆαααααααααΆαα»ααααααααααααΆααΆααα’ααααΆααα ααααααα·αα’αΆα ααΆαααΆααΆααααααΆαα ααα½ααα½ααααααααΆααααααα
α§ααΆα ααα:
employeesCount βΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ² Ρ Π·Π°ΡΠΏΠ»Π°ΡΠΎΠΉ > Nβ (Department d, NUMERIC[10,2] N) =
GROUP SUM salary(Employee e) IF department(e) = d AND salary(e) > N;
α’αα»ααααβαααβααααΌαβααΆαβαααααβαααααΆααβα ααα½αβααααΆαβαααααβααβααααα N (α§ααΆα ααα αααααβα’αα·αααααΆαβααΆαα½αβααΊβαααααα)α ααΌα αααα α’ααααα·αα’αΆα ααΆαα MATERIALISED αα ααΎααΆααΆαααα ααΌα αααα αααβααΆβααΆαβαααααβα‘αΌααΈαα αα·ααααβααΆβαα αα αααααβαα (αααβαα·ααααβααβααΈβααΎαβαα·αβα’αΆα βα’αα»ααααβααΆβααΆαβαα)α ααΎαα·αααΌα αααααααα·αααΆαααΆαααΉααααααΉαααα α’αααα’αΆα ααααΎααΆαααΆααααΆαααα»α ααΆααααααα AND αα·α OR, PARTITION, recursion ααα
α§ααΆα ααααα αααα»ααααα αΆ 2.2 ααα’ααααααα»α α’αααα’αΆα ααΆαα MATERIALIZED ααΎαα»αααΆαααΆααααΈαα
bought 'ΠΡΠΏΠΈΠ»' (Customer c, Product p, INTEGER y) =
GROUP SUM sum(Detail d) IF
customer(order(d)) = c AND
product(d) = p AND
extractYear(date(order(d))) = y MATERIALIZED;
rating 'Π Π΅ΠΉΡΠΈΠ½Π³' (Customer c, Product p, INTEGER y) =
PARTITION SUM 1 ORDER DESC bought(c, p, y), p BY c, y MATERIALIZED;
SELECT contactName(Customer c), name(Product p) WHERE rating(c, p, 1997) < 3;
αααααααααααα½αααΆααΉααααααΎαααΆααΆααα½ααααααΆαααααΆααα α»α αααααα α’αα·αα·αα, ααα·ααα ΠΈ αααα»αα αα»α INTEGERααΆααΉαααααααααΆαααΈααα ααΆ α αΎαααΉαααααΎαα αα α»ααααααααΆααααααααΆααα αααα»ααα½αααΆααΆαα½αααΉαααΆαααααΆααααααΌαααΆαα½αα αα αααααΆαα α ααααααααααα ααΆαααα»αααΆαααΆααααα ααΆααΉααα·αααααΌαααΆαααααΆαα ααα»αααααααααααΉαααααΌαααΆαα’αΆαααΈααΆααααααααΌαααααΆα
ααΆα§ααΆα ααα αααααααΎααααααΆαααα α’αααα’αΆα αααα αΆααααΆαα α α‘αΎααα·α (CTE) αα αααα»ααααα½αα ααΆαα·ααα ααΌααα·α αΆαααΆαααα»αααααααααΎαααΆαααααΆα αααααααΎααααΆαααααααα»ααΆα/ααΆααΆαα·ααΆ (αααα»αααΈαα½ααααΆααααααααΆαααα ααΆααααααααααΆ)α
parent = DATA Group (Group);
αααα»αβααΌαααααΆαβαα·ααααααβαα»αααΆα ααααβααΆαβαααααΎαβα‘αΎααα·αβα’αΆα βααααΌαβααΆαβαααααΆααβααΌα βααΆαβαααααα
level (Group child, Group parent) = RECURSION 1l IF child IS Group AND parent == child
STEP 2l IF parent == parent($parent);
isParent (Group child, Group parent) = TRUE IF level(child, parent) MATERIALIZED;
α αΆααααΆααααΈαααααΆαααα»αααΆα ααΊαͺαα»αααααΆα ααααΌαααΆααααααΆααααΆ MATERIALIZED αααααΆααααααΆααΆααααααΆαααΌαααααΈα (αααα»α) ααΉαααααΌαααΆααααααΎααααααΆααααΆ ααααα αααα»αααΆα ααΊαͺαα»αααααΆα ααΉαααΆααΆααα·ααα»αααααΆααααΌαααααΈαα½αααΆααΌαααΈααΈαα α ααα½αααΆαα»αα αααα»αααΆααΆααααααΉαααααΎααΉαα ααα½ααααα»αααααα»αααΉαααααα ααααααααααααΆαα α§ααΆα ααα ααααα·αααΎα’αααααααΌαααΆα ααΎααααΈααΆααα ααα½αααΌαα α αααααα»αααΆααααΆαα α’αααα’αΆα ααααΎαα»αααΆααααα
childrenCount (Group g) = GROUP SUM 1 IF isParent(Group child, g);
ααΉααα·αααΆα CTE αα αααα»ααααα½α SQL ααα αααα»ααα αα·α ααΆααΉαααΆααααα»αααΆαααααα½αα
αααααααΎααααααΆαααα α’αααααα’αΆα denormalize ααΌαααααΆααα·ααααααααΆααααΆαααΆααααα½αααααα·αααΎα αΆαααΆα αα
CLASS Order 'ΠΠ°ΠΊΠ°Π·';
date 'ΠΠ°ΡΠ°' = DATA DATE (Order);
CLASS OrderDetail 'Π‘ΡΡΠΎΠΊΠ° Π·Π°ΠΊΠ°Π·Π°';
order 'ΠΠ°ΠΊΠ°Π·' = DATA Order (OrderDetail);
date 'ΠΠ°ΡΠ°' (OrderDetail d) = date(order(d)) MATERIALIZED INDEXED;
αα αααα α αα»αααΆα ααΆαααα·α αααα αααααΆαααααααΆααααααΆαα ααΆααααααΆααα·αα·ααααααΉαααααΌαααΆαα’αΆαααΈααΆααΆαααΆαα½αααΉααααααΆααααααΆααα αα ααααααααΆαααα·α ααααααααΆααααααΆαα·αααααΆααααααΌα αααααααααααα½αααΆααΉαααααΆα‘αΎααα·ααααααααααααααααα·ααΌαααΆαααα·α ααααααααα·αααααααααΈαα αααα»ααααααΆααα
αα»ααααααααα·
ααΎααααααΆαααΆααααΌαααααααααΆααα’αααΈ? αα αααα»α DBMSs αα»ααΆα ααααα·αα αΆαααΆα αααααααααα½αα‘αΎααα·ααα α’αααα’αα·αααααα α¬ DBA α’αΆα ααααΆααααααααΆααααααΌαααααααααα ααααααααα·αα· αα·αααααΆααα’ααααααα ααααααΆααααα½αα’αααΈααααααααα·ααααα·αα½αααΆ (α αΎαααΆαααααΆαααΆααα αααα»α DBMSs ααΆαα·αααααααααα»ααααα)α αα·αααΆαα½αααααααΆααΆααααΆαααΆααααα αα½αααααΉααα·αα’αΆα ααααααααα½αααααΌααα αααα»αα’ααααααα αααα»α O (α ααα½αααΆααααααΆα) ααααα·αααααΆααααααΌααααα½α α¬αααααααααααΉαα αα αααα»ααααααααΆααααααααΆαααααΎα‘αΎα αα ααααΆααααΆαα’αα·αααααα α’ααααα·αα αΆαααΆα ααα·αα’αααΈαα ααΆαααααααααααα»ααα·αααααα αα·αααΆααααααΌααααα»αααΆαα½ααααααααΌαααααΎαααααα ααΆααα’αααααα’αΆα ααααΆααααααΌαααΆααααΆαααΆααααα½αααααΆαα αααααααΆαααα αααα»αααααα·ααααα·ααΆαα
αα αααα»αααΆαα’αα»ααααααΆααΎααα ααΌα αααα ααα»ααααααααααααΎααααααα·ααααΆαααααααΆαααααααα’ααααΎαα·α αα ααΆααααααΆααα ααΉαααα αα½ααααα·ααααα’αααΈαααα½ααααααααΆα αα·αααΆααααα»αααααΆααααααα½ααα α¬αααααΆαααααα·ααααα· α¬ααααααααααΆαα αΌααα½α α¬ααΆαα»αααααα αα αααααααααααααα‘αΎαα ααα»αααααΆαααααααΊααΆα’ααααα·ααΆαα’αΆααΈαααααα αααΎαααΆαα’αααα’αα·ααααααα αααααΆαααα ααΆααα’αααααα αΌααα αααα»αααΆαααΆααααα α¬ααααα·ααααα·ααΆαα ααΎαααααΎαααΆααααααααΆαααα½ααααααααΎαααΆαααΌαα αα ααααααααΆααααααααααααααα½αααααΌαααΆαααααΎα αααααα»ααααααααααα (αα αα αααααα αααΎαααΆαααα - ααααΆαα DBA) αααααα α α·αααααΎα MATERIALIZED ααΎαα»αααΆαααααα·αααααααα½αα ααα½αα ααΆααααΎα±ααααΆαααααΊαααααα·α (α αΆααααΆααααΈααΆααΆαααΆαα±ααααααΎαα αα α»ααααααααΆαααΆααααααααα αααα»αααααα·ααααα·ααΆα) α αααααΆαααΆαααΆααααα αα·αααααΉααααααα½ααααααααΌαααΆααααααΎαααααΏααααΆαααααΆααααααα ααα»ααααααααΆααα»αααΆαααααααααααΆααα’αααααααααΎαα»αααΆαααααααααα αααα»ααααααΆαα½αααααΆααα ααΆααααααα α α·αααααΆααΎαα»αααΆααα½αααΆαααααααΌαααααΎααΊααΆααααα½αααΆααα αααΆαααΆααααααααααΆααααΈαα α ααα½αααααααααααα αΌααααα’αΆα ααααΎααΆα (αααααΆα ααα½ααααααααααΆααΉααα αααα»αααΆααΆααααααααΌαααααΆ) αα·αααΆααΎααΆααααΌαααΆαααααααΎααΉαααΆααααα»ααααΆαααα»ααα»αααΆαααααααααα
α’αΆααΆα‘αΌα
DBMSs ααΆαα·αααααααααααΎαααΆαααααααΆαααααααααααΆα MATERIALIZED View with FAST REFRESH (Oracle) αα·α INDEXED View (Microsoft SQL Server)α αα αααα»α PostgreSQL, MATERIALIZED VIEW αα·αα’αΆα ααααΎαα αα α»ααααααααΆααααα»αααααα·ααααα·ααΆαααΆααα ααα»ααααααΆαααααΆαααΆαααααΎαα»α (αα·αααΌααααΈααααΆαααΆαααΉααααααΉαααααΆαα) ααΌα ααααααΎααα·ααα·α αΆαααΆααΆααα ααα»αααααα½αααααΆααααα αΆααΆα αααΎαααααααααααΆαααααΎααααΆαααααααα½αααα
ααααΌα α’αααβα’αΆα βααΎαβααΆαβαααααΎαβααΆαβαα»αααααΆβααβα’αααβααΆαβαααααΎαβαα·αααααΆαβααααααΆβαα½α βα αΎαα ααΎαα·αααΌα αααααα α’αααααΉαααααΌααααααα‘αΎααα·αααΌαααααΎααααα ααα ααΎααααΈα αΌαααααΎαα·αααααΆααααααΆααααααΎαααααΈ ααΎααααΈααααΎααααΆαααααααΆαααααα α¬αα»αα’αααΈαααααααααΆαααΌα αααααΆααΊ ααα»αααααααΆαα αα ααΆααααΆααΉαααααΆαααααα·αααααΆα ααααα·αααΎααΆααα·αααααααααααΆαααααΆααΆαα»ααα½α α αΎα ααα»αααααααα½αααΆα αααΎααα·ααααααααααΎααΆαα ααα»ααααααααΌαααααΆα‘αΎααα·αα
ααΈααΈα αα½αααααΆαααΆαααΉααααααΉαααΆα αααΎαα
αααα»αα αα»α Oracle
5.3.8.4 ααΆαααΉααααααΉαααΌαα ααΎααΆαααααΎα±αααααααααΏα
ααΆαααααααααα½ααααα·αααααΆαααΆαααααααααααΌαααΆαααΆααααααα·αααΌα ααΆααααααα
- αα·αααααΆαβαααβααΆαβαααααΎαβαα·αβααααΌαβααΆαβααα ααααΈβαααβαα βααΉαβααααααβαααβαα·αβαααααβααΌα βααΆ
SYSDATE
αα·αROWNUM
.- αα·αααααΆαααΆααααααααα·αααααΌαααΆαα―αααΆαααααα
RAW
orLONG
RAW
αααααααα·ααααααα- ααΆαα·αα’αΆα ααΆα a
SELECT
αααααΈαααα½αααα- ααΆαα·αα’αΆα ααΆααα»αααΆααα·ααΆααα (α§ααΆα ααα
RANK
) αααα»αSELECT
ααααΆα- ααΆαα·αα’αΆα αααααΆααΆαααα
XMLIndex
αααααααααααααΌαααΆααααααα- ααΆαα·αα’αΆα ααΆα a
MODEL
ααααΆα- ααΆαα·αα’αΆα ααΆα a
HAVING
clause ααΆαα½α subquery αα½αα- ααΆαα·αα’αΆα ααΆααααα½ααααααΆααααααΆαααααΆα
ANY
,ALL
α¬NOT
EXISTS
.- ααΆαα·αα’αΆα ααΆα a
[START WITH β¦] CONNECT BY
ααααΆα- ααΆαα·αα’αΆα ααΆαααΆααΆααααα’α·αα αααΎααα αααααααααααααααΆααα
ON
COMMIT
αα·αααααΆαααΆααααααααα·αα’αΆα ααΆαααΆααΆααααα’α·αααΈα ααααΆαααΆαααα- αα·αααααΆαβαααβααΆαβαααααΎαβααΆβααΌαααααΆαβααααΌαβααβααΆαβααΆαβα αΌααα½αβα¬βααα»αα
- αα·αααααΆαβαα½αβααΆβαααααΆαα αα·αβαα·αααααΆαβαα½αβαααβααΆαβαααααΎαβα‘αΎαβααα α
GROUP
BY
ααααΆαα·αα’αΆα ααααΎαααΎαααΈααΆααΆαααααααα αααααα·αα·ααααααΆαααα5.3.8.5 ααΆαααΆααααα α·αααΎααΆαααααΎα±ααααααααα ααααΎαα·αααααΆαααΆαααααααααΆαα½αααΉαααΆαα αΌααα½αααααα»ααααα
ααΆαβαααααβαααα½αβαααααΆααβαα·αααααΆαβααΆαααααααβαααβααΆαβααΆαβα αΌααα½αβααβααα»ααααα α αΎαβααααΆαβααΆαβαααααΌαβαααα»αβααΆαβααΆαβααΆααβααααα·αβααΌα βααΆαβαααααβααΎβααΆαβααααΎβα±ααβαααααβααΏαα
- ααΆαααΉααααααΉαααΆααα’ααααΈ "
ααΆαααΆααααααα·αααΌαα ααΎααΆαααααΎα±ααααααααα αα "α- αα½ααααα·αα’αΆα ααΆα
GROUP
BY
ααααΆ α¬βααΆαβααα»αα- αα½ααααααααΆααΆαααΆααα’αααα αααα»α
FROM
αααααΈααααΌααααααα αΆααα αααα»αSELECT
αααααΈαααααα½αα- αααααα ααα»αα·αααααΆαααΆαααααΆααααααΌαααααΆαααΆαα½ααα½αααααααααΆααααΆααΆαααΌαααααΆαααΆααα’αααα αααα»α
FROM
αααααΈαααααα½αα- α’αααβαα·αβα’αΆα βαααααΎαβαα·αααααΆαβαααβα’αΆα βααααΎβα±ααβαααααβααΆαβααΏαβααΈβααΆααΆαβα αααΎαβααΆαα½αβααΆαβααααΆααβααΆααααβαααβαα½αβαααα αΌαβαα½αβααβααααααβααααα»βαααα»αβ
SELECT
ααα ααααΈαααααααΆααααααΌα ααααΆαααααααα αα·ααΈααΆαααααααααΎα±ααααααααααα’αααααααΎαααΎαααΉααα·αααΆαααααα·αααααΆααααα»αααααα·αααΎα
- αααα½αβαααααβααααΎβααΆαβα αΌααα½αβααΆααααα βαααβααΆαβα₯αα·ααΆααβααΌα ααΆβααΆαβα αΌααα½αβααΆααααα»αα ααααα·αααΎβαααα½αβαααααβααΆαβααΆαβα αΌααα½αβαααβααα ααΌαβαα·α αΆαααΆβαααααβαααα½αβαααααβα‘αΎααα·α ααΎααααΈβααΆαβααΆαβα αΌααα½αβααΆααααα»αα
- ααα
SELECT
αααααΈαααα·αααααΆαααΆαααααααααΆααααααααα ααΎαα½αααααΈααΆααΆαααΆα αααΎαα5.3.8.6 ααΆαααΆααααα α·αααΎααΆαααααΎα±ααααααααα ααααΎαα·αααααΆαααΆαααααααααΆαα½αααΉαααΆαααΌαααα»α
ααΆαβαααααβαααα½αβαααααΆααβαα·αααααΆαβααΆαααααααβααΆαα½αβααΉαβααΆαβααα»αβα¬βααΆαβα αΌααα½αβααΆαβααΆαβααΉααααα·αβααΌα βααΆαβαααααβααΎβααΆαβααααΎβα±ααβαααααβααΏαα
- ααΆαααΉααααααΉαααΆααα’ααααΈ "
ααΆαααΆααααααα·αααΌαα ααΎααΆαααααΎα±ααααααααα αα "αααΆαααααΎα±αααααααααΏαααααΌαααΆαααΆαααααααααΆααααΆααααΈα
ON
COMMIT
αα·αON
DEMAND
ααααααααΆααααααα αααααΈααΆαααΆαααΆααααα ααΆαααΉααααααΉαααΆααααααααααΌαααΆαα’αα»ααααα
- ααΆααΆαααΆααα’αααα αααα»ααα·αααααΆαααΆαααααααααααΌαααααΆααααααα ααα»αα·αααααΆαααΆααααααα α αΎααααααα ααα»αα·αααααΆααααααΆααααααΎαααααΌαααα
- ααΆααα½αααααΆααα’ααααΈααΆααΆααααααΆαααααα αααα»ααα·αααααΆαααΆαααααααα
- αααααΆααααΆαα½α
ROWID
αα·αINCLUDING
NEW
VALUES
.- αααααΆαα
SEQUENCE
clause ααααα·αααΎααΆααΆαααααΌαααΆαααααΉαααΆααΉαααΆαααΆααα½ααααα αΌαααααΆααααΆααααα αΌα/αααααααΆαα-αααα»α ααΆααα»α αα·αααΆαααααΎαα αα α»ααααααααΆαα
- ααΆααα
SUM
,COUNT
,AVG
,STDDEV
,VARIANCE
,MIN
αα·αMAX
ααααΌαααΆαααΆαααααααααΆααααΆαααααΎα±αααααααααΏααCOUNT(*)
ααααΌααααααααΆααα- α’αα»ααααααα»αααααΌαααααΎαα‘αΎαααΆαααααααΆααααα ααααααααααα»αααααα αααααΊααΆααααααΌααααα»αααΌα ααΆ
AVG(AVG(x))
orAVG(x)
+AVG(x)
αα·αααααΌαααΆαα’αα»ααααΆαα- αααααΆααααΆαααα»αααΈαα½ααααΌα ααΆ
AVG(expr)
, αααααααΌαααααΆαCOUNT(expr)
ααααΌαααααΆαααααααΆαα Oracle ααααΆαSUM(expr)
ααααΌαααΆααααααΆααα- If
VARIANCE(expr)
orSTDDEV(expr
) ααααΌαααΆααααααΆααCOUNT(expr)
αα·αSUM(expr)
ααααΌααααααααΆααα Oracle ααααΆαSUM(expr *expr)
ααααΌαααΆααααααΆααα- ααα
SELECT
αα½ααααααα»ααααα½αααααααα·αα’αΆα ααΆαααααααααα»αααααΆααααααΆααα½αααααΈααΆααΆαααΌαααααΆαα αααΎαααα αααααααααΆααααα’αΆα ααΎαααΆαα αααααααα αΆααα ααΊααααΌαααααΎαα·αααααΆααααααΆαααααααααΆααααα»α- ααα
SELECT
αααααΈααααΌαααααΆαααΆααα’αααGROUP
BY
αα½αααα- αα·αααααΆαααΆααααααααα·αααα’ααααΎααΆααΆαααΆα ααααααΆααα½α α¬α αααΎααααααα
- ααααα·αααΎα’αααααααΎα
CHAR
αααααααα·αααααααα αααα»ααα½αααααααααααααααα ααα»αα·αααααΆαααΆααααααα αααα»ααα½α’ααααααααα ααααααα αα·ααα·αααααΆαααΆαααααααααααΌαααααΌα ααααΆα- ααααα·αααΎαα·αααααΆαααΆαααααααααΆααα½ααααα»αα ααααααΆαααααα αααααΆαααααΎα±αααααααααΏαααααΌαααΆαααΆααααααααΎααΆααααα αΌα DML ααααααΆ αα·αααΆααααα»ααααααααΆααααα»αααααα
- αα·αααααΆαααΆαααααααααΆαα½α
MIN
orMAX
ααα»α- αα·αααααΆαααΆααααααααααααΆα
SUM(expr)
ααα»ααααααCOUNT(expr)
- αα·αααααΆαααΆααααααααααααααΆα
COUNT(*)
αα·αααααΆαβαααβααΆαβααααααβααΆβααααα»ααΆαα»βαααβαααβααααΌαβααΆαβααβα α βααΆβααΆβαα·αααααΆαβαααβααΆαβααβααΆαβαααα αΌαα
- αα·αααααΆαααΆαααααααααΆαα½α
MAX
orMIN
α’αΆα βααααΎβα±ααβαααααβααΆαβααΏαβαααααΆααβααΈβααΆαβαα»αβα¬βααα ααααΈβαααααααΆααα DML α αααα»αβααααα·αβααΎβααΆβαα·αβααΆαWHERE
ααααΆα
ααΆαααααΎα±αααααααααΏαα’αα·ααααΆ/ααΆααΈαααααΆααααΈααΆααα»α α¬ DML α αααα»ααα·αααΆαα₯αα·ααΆααααΌα ααααΆαα ααΉαααααΈαααα αΌααααα½ααααα ααΆαα»α αα·αααααΆα‘αΎααα·αααΌααααααα’αα·ααααΆ/ααΆααΈαααααΆαααααα»αααααααααααααΆααα α’αααααααΌαααΉαααΈαααααααΆααααααααΎαααΆαααααααΆα- αα·αααααΆαααΆαααααΆαααααααΆααααααααααααΆαααααα α¬αααα½ααααα αααα»α
FROM
ααααααα’αΆα ααααΌαααΆαααααΎα±ααααααααααΆαααΆαααα αα αααααααΆαααΎαααΎαα’αΆα ααααΌαααΆααααα αΌαααααΆααΆαααααα»αα αααααΆααβααααααΆαβα’αααΈβαα·αααααΆαβααΆβαααβααΉαβαααα αΌαβα αΌαβααααΆ ααΌαααΎαOracle Database SQL α―αααΆαααα .- ααααα·αααΎαα·αααΆαααΆαα αΌααα½αααΈααΆααααα αα α’αααα’αΆα ααΆαααΆαααααΎαααΎααααααααΆα αα·αα αΌααα½ααα αααα»α
WHERE
ααααΆα- αα·αααααΆαααα»ααααααΆαααααααααΆαααααΆααααΆαα½αααΉαααΆαααααΆααααΆααααα ααΊα’αΆα αααααΎαα‘αΎααα·αααΆαααΏααααααΆααααΈ DML ααααααΆ αα·αααΆααααα»ααααααααΆαα αααααααΌαααααΆααΆαααΆααααα ααα»ααααααααααααΌαααΆαααααααα ααΌα ααααΆαααααααα α§ααααααααα½ααααααααΌαααααΆααα ααΎαα½αααα αΌααα½αααααΆααΆαα αΌααα½αααΆααααα»αα ααααα·αααΎααΆααααααααΆααααα αααααααΆααααΆααα’ααααααΌαααααααΆααααα
AND
s αα·αααααΌαααααΎααααΆα (=
) ααααα·ααααα·ααα- αααααΆαααα·αααααΆαααΆαααααααααΆαα½α
CUBE
,ROLLUP
ααΆαααΆααααΆαααα»α α¬ααΆαααααΆαααα½αααΆ ααΆαααΉααααααΉαααΆααααααααααΌαααΆαα’αα»ααααα
- ααα
SELECT
αααααΈαα½αααααΆαα§ααααααααα ααααΆαααα»ααααα’αΆα ααΆ aGROUPING_ID
αα»αααΆααα ααΎααΆααα’αααGROUP
BY
ααααααα¬GROUPING
αα»αααΆααα½ααααααΆααααΈαα½ααGROUP
BY
ααααααα α§ααΆα αααααααα·αααΎGROUP
BY
ααααΆαααα·αααααΆαααΆαααααααααΊ "GROUP
BY
CUBE(a, b)
", αααααΆααααSELECT
αααααΈαα½αααααΆα "GROUPING_ID(a, b)
Β» α¬ Β«GROUPING(a)
AND
GROUPING(b)
Β» ααΎααααΈα±αααα·αααααΆαααΆααααααα ααααΎα±αααααααααΏαGROUP
BY
αα·αβαα½αβααΆαβααααααβαααα»αβαααα»αβαααα½αβααΆβαα½αβααα α§ααΆα ααα, "GROUP BY a, ROLLUP(a, b)
"αα·αβα’αΆα βααααΎβα±ααβαααααβααΆαβααΏαβαα αααααβααΆβααΆαβα±ααβααΆαβαααα»αβαααα½α"(a), (a, b), AND (a)
"α5.3.8.7 ααΆαααΆααααα α·αααΎααΆαααααΎα±ααααααααα ααααΎαα·αααααΆαααΆαααααααααΆαα½α UNION ALL
αα·αααααΆαααΆαααααααααΆαα½α
UNION
ALL
αααααααααα·ααααα·ααααΆααααREFRESH
FAST
αααααΎαααααα·αααΎααααααααααΆααααααααααΌαααΆααααα α·αααα
- αααα½ααααααααααΌαααααΆα
UNION
ALL
ααααα·ααααα·αααα ααααα·αααααΌααααα
UNION
ALL
ααααα·ααααα·αααα·αα’αΆα ααααΌαααΆααααααααα ααΆααααα»ααααα½ααααα½α αααααΆαααααΈααΎαααααα½αα TheUNION
ALL
α’αΆα βααΆαβαα βαααα»αβαααα½αβααβαααα»αβFROM
ααααααβαααβααΆαβαααααβα±ααβαααα½αβαααααβααΊβααΆαβααααααSELECT * FROM
(ααΎαα¬αααα½αααααΆαα½αUNION
ALL
) ααΌα αααα»αα§ααΆα αααααΆααααααααααααΎααα·αααααΆα view_with_unionall AS (SELECT c.rowid crid, c.cust_id, 2 umarker ααΈα’αα·αα·αα c WHERE c.cust_last_name = 'Smith' UNION ALL SELECT c.rowid crid, c.cust_id, 3 umarker ααΈα’αα·αα·αα c WHERE c.custname 'α αΌα'); αααααΎα MATERIALIZED ααΎα αα·αααααΆα unionall_inside_view_mv αααα αΆα α‘αΎα ααΏα ααΆα αααααΌα ααΆα ααΆ αααααΎα * ααΈ view_with_unionall;α αααΆαααΆαα·αααααΆα
view_with_unionall
ααααααααααΌαααΆααααααΆααααΆαααααΎα±αααααααααΏαα- αααα»ααααα½αααΈαα½αααα αααα»α
UNION
ALL
αααα½αααααΌααααααααααΆααααααΌαααΆααααα·αααααΆαααΆααααααααααα’αΆα ααααΎα±αααααααααΆαααΆαααα ααααΆαα½αααΉααα·αααααΆααα½α α¬αα·αααααΆαααααααααΎαα‘αΎααα·αααΆαααΆαααα ααααΆαα½αααΉαααΆαααααΆααααααααα ααα»αα·αααααΆααααααΆαααααααααααααααααΌαααααααΌαααΆααααααΎααα ααΎααΆααΆαααΆααααααΌαααΆααααααΆαααααααααααααααΌαααααΆαααα·αααααΆαααααααααΎαα‘αΎααα·ααααΆαααΆαααα ααα
α αααΆαααΆααΌαααααΆααα·αααααα Oracle ααα’αα»ααααΆαα±ααααααΈαα·ααααααα·αααααΆαααααααααΎαααΆααΆααΆααααα½αααΆαα½αααΉαααΆαααααΆαααααααΆααααααα±ααααααα»αααααROWID
αα½αααααααΌαααΆααα½ααααα αΌααα αααα»αSELECT
αααααΈ αα·ααα αααα»ααααααα ααα»αα·αααααΆαααΆαααααααα αααααααΌαααΆααααα αΆααα αααα»ααααα½αααααααα·αααααΆαview_with_unionall
.- ααα
SELECT
αααααΈαααααα½αααΈαα½ααααααΌααααα½ααααα αΌα aUNION
ALL
αααααΆαααααΆαα, αα·αUNION
ALL
αα½αβααβααααΌαβααβααΆαβαααβαααβαα»αβααααΆβα¬βαααααβααααβα’ααααβαααα»αβααΈαα½ααUNION
ALL
ααΆααΆα ααΎαααΈααα αα½ααααααααΆααααααΌααααααα αΆααα αααα»αααΈααΆααααααααΆααΌα ααααΆαα αααα»αSELECT
αααααΈαααααα»ααααα½αααΈαα½ααα ααΌαααΎα "UNION ALL Marker αα·α Query Rewrite Β» αααααΆααααααααΆαααααααUNION
ALL
αααααΆαααααΆααα- αααααααα·ααααα½αα ααα½αααΌα ααΆααΆαααααΆααααΆααααα ααΆααααα αΌααααααα½ααα·αααααΆααα½α αα·αααΆααΆαααΈα ααααΆααα·αααααΌαααΆαααΆαααααααααΆαααα·αααααΆαααΆαααααααααΆαα½α
UNION
ALL
. αααααΆαααΆαααΆααααα α αααΆαααΆαα·αααααΆαααΆααααααααααααααΌαααΆαααααΎαααα»αααΆαα αααα ααααα·αααΆαααΆαα αΌααα½α α¬ααα»α α’αΆα ααΉαααααΌαααΆαααααΎα±ααααααααααΆαααΆαααα αααα ααααααUNION
ALL
α¬ααΆααΆαααΈα ααααΆαααααΌαααΆαααααΎα- αααΆαααΆααααααα αΆααααααΎαααΆαααααΌαααααΆααααΌαααααααααα 9.2.0 α¬αααααααΆαααα ααΎααααΈαααααΎααα·αααααΆαααΆααααααααααα’αΆα ααααΎα±αααααααααΆαααΏαααΆαα½α
UNION
ALL
.
αααα»ααα·αα ααααααΎα±ααα’αααααΆαααα Oracle ααα α·ααααα ααα»ααααααΆααα·αα·α ααααααααααααΈααααΆαααΉααααααΉααααααα½ααα ααΆα αΆααααΌα ααΆααΆααααααΆααααααααΌαααΆαααααααα·αααααα αααα»αααααΈααΌαα ααααα αααααααΎααααΆααααααΌαα½αα ααα½α ααα»ααααααααααααΆααα₯ααααΆααΆααααΆααααΆαα ααααααααααααΆααααΌαααΆααααααα±ααΆαα±αα αααααααΆααΆαααααααα½α α αΎααα½αααααααΆαααααΆαααααΎα’αααΈαααααΆααα’αΆα ααααΎααΆαα ααΆαααααΎααααααΆαααααααααΆαααααααα·ααααΆαα·αααααΆααααΊααΌα ααΆααΆαααΎαααΆααααΆαααΈαα α’αααα’αΆα ααα½αααΆαα’ααααΌαααααα αααααΆααααΆααααααααΆααααα α»α ααΎααΆαααΉααααααΉαααααα·αα αααΆαααα½αα αααααααααΆααααΎαααΆαααααΆαααα½αααΆα ααααα‘αααα½αααα ααα»ααααααΆα α½αααΈαα·ααΆαααΆαααα’ααααααααα
αααα»αα αα»α Microsoft SQL αα½ααααΆαααΈααααααΎ
αααααΌαααΆααααααα
ααααααααΈααΎαααααΎα SET αα·ααααααΌαααΆααα»αααΆαααααα αααααΌαααΆαααΆααααααααααΌααααααααα
- α’αααααααΎααααΆαααααααααα·ααααα·
CREATE INDEX
ααααΌαααααΆααα αΆαααααα·αααααΆαα- αα αααα’ααααααααΎαααααααααα
IGNORE_DUP_KEY
αααααΎαααααΌαααααααααα αα·α (ααΆααααααααααΆαααΎα)α- ααΆααΆαααααΌααααααααααααααααΈαααααα αααααααΆααα.αααααααΆααΆα αα αααα»ααα·ααααααααα·αααααΆαα
- αα»αααΆαβαααααβαααβα’αααβααααΎβαααβααΆαβαααβαααα»αβαα·αααααΆαβααααΌαβααβααααΌαβααΆαβαααααΎαβα‘αΎαβαααβααΆαβααααΎβ
WITH SCHEMABINDING
αααααΎαα- αα»αααΆαβαααααβαααβα’αααβααααΎβααΆβαα½αβαααβααΆαβαααβαααα»αβαα·αααααΆαβααααΌαβααβαααβααΆαβαααααβααΈαβααααα ..
- ααααααααααααα·ααααΆαα αΌαααααΎαα·αααααααααα»αααΆαααααααααα’αααααααΎααααΆααααααΌαααααΆ
NO SQL
αα·ααααααααααααααα·α αΌαααααΎααΆααααα ααααΌαααααΆNO
.- αα»αααΆαααααααααΆααΆααΌαα (CLR) α’αΆα αααα αΆααααα»ααααααΈααααΎαααΎααααα·αααααΆα ααα»αααααα·αα’αΆα ααΆααααααα½ααααα·ααααααααααααΉααα·αα·ααααα ααααααααααα αα»αααΆα CLR αα·αα’αΆα αααα αΆααα αααα»αααααΆ WHERE αααα·αααααΆα α¬ααααΆ ON ααααααα·ααααα·ααΆα JOIN αα αααα»ααα·αααααΆααααααα
- αα»αααΆα CLR αα·ααα·ααΈααΆααααααααααααααααααααααααα’αααααααΎααααΆαα CLR αααααααΎαααα»ααα·ααααααα·αααααΆαααααΌαααααΆααααααααααααααα·αααααΆααααααααΌα αααα αΆααααα»αααΆααΆαααΆααααααα
α’α αααααααα
α αααΆαDETERMINISTIC = αα·α
ααααΌαααααααΌαααΆααααααΆααααΆαα αααΆααααΆααΆαα»ααααααααααα·ααΈααΆααααα Microsoft .NET Framework αPRECISE = αα·α
ααααΌαααααααΌαααΆααααααΆααααΆαα αααΆααααΆααΆαα»ααααααααααα·ααΈααΆααααα .NET FrameworkαααΆαα αΌαααααΎαα·αααααα = ααααΆα SQL
ααααααααααΆαααααααα»ααααααα DataAccess αα DataAccessKind.None αα·ααα»ααααααα SystemDataAccess αα SystemDataAccessKind.None αααΆαα αΌαααααΎααΆααααα = ααα
ααααααααααααα·ααααααααααααΆαααΎααα ααΆ NO αααααΆαααααααΆαα CLR α- αα·αααααΆαααααΌαααααααΌαααΆααααααΎααααααααΎ
WITH SCHEMABINDING
αααααΎαα- αα·αααααΆαααααΌααααααααααΆααΆαααΌαααααΆααααααΆααα αααα»αααΌαααααΆααα·ααααααααΌα ααααΆααΉααα·αααααΆαα αα·αααααΆαβαα·αβα’αΆα βαααβαα βααΎβαα·αααααΆαβαααααβαααβααα
- ααα ααααΈαααααααΆααα SELECT αααα»ααα·ααααααα·αααααΆααα·αααααΌαααΆαααΆαα» Transact-SQL ααΆααααααααα
COUNT
αα»αααΆα ROWSET (OPENDATASOURCE
,OPENQUERY
,OPENROWSET
, αα·αOPENXML
)
OUTER
α αΌααα½α (LEFT
,RIGHT
α¬FULL
)ααΆααΆααααααα½αααΆα (αααααααααααααΆαα α
SELECT
ααα ααααΈαααααααΆααααα αααα»αFROM
ααααΆ)
α αΌααα½αααααααα½αα―αα
ααΆααααααΆαααα½ααααααααααΎSELECT *
orSELECT <table_name>.*
DISTINCT
STDEV
,STDEVP
,VAR
,VARP
α¬AVG
ααααααααΆααΆαααΌαα (CTE)float1, α’ααααα, ntext, ααΌαααΆα, XML ααΆαα¬ ααααααΈαα―αααΆα αα½ααα
αααα½ααα
OVER
clause ααααα½ααααα αΌααα»αααΆααααααα’α½α α αααΆααααααΆαα α¬ααα»αααΆαααααΆααααα’αααααααα (
CONTAINS
,FREETEXT
)
SUM
αα»αααΆαααααααααααααααααα·αα’αΆα αα»αα ααααΆαα
ORDER BY
αα»αααΆαααα»αααααααααα’αααααααΎααααΆαα CLR
TOP
CUBE
,ROLLUP
α¬GROUPING SETS
ααααα·ααααα·αα
MIN
,MAX
UNION
,EXCEPT
α¬INTERSECT
ααααα·ααααα·αα
TABLESAMPLE
α’αααααΆααΆα
OUTER APPLY
orCROSS APPLY
PIVOT
,UNPIVOT
αααα»ααα½αααααΌα
αααα»ααα½α (TVF) α¬α’αα»αααααααααααΆααΆααα α»ααα ααααΈαααααααΆααα (MSTVF)
OFFSET
CHECKSUM_AGG
1 αα·αααααΆααααααΆαααααΎαα·αα·ααααα’αΆα ααΆα float αα½ααα; ααααααΆαααΆααααα αα½ααααααααααα·αα’αΆα αααα αΌααα αααα»ααααααΉααα·αα·ααααα αααααααΆαααα
- If
GROUP BY
ααΆαααααααΆα αα·ααααα VIEW ααααΌαααααΆαCOUNT_BIG(*)
αα·ααα·αααααΌαααΆαHAVING
α ααΆαααααGROUP BY
ααΆαααΉααααααΉαα’αΆα α’αα»ααααααΆαααα αααααα·ααααααα·αααααΆααααααΆαααααΎαα·αα·ααααααα»αααααα αααα½αα’αΆα ααααΎαα·αααααΆααααααΆαααααΎαα·αα·αααααα αααα»ααααααΆαααααα·ααααα·ααααααΆ ααΎαααααΈααΆααΆαα·ααααααααΆααααααΌαααΆαααΆαααααααααααGROUP BY
ααΆαααΆααααααα·αα- ααααα·αααΎαα·ααααααα·αααααΆαααΆα a
GROUP BY
clause αααααΉααααααααααααα ααααααααα½ααααα’αΆα ααααααα½ααααααααΆααααααΆαααα αααα»αGROUP BY
ααααΆα
ααΆα αααΆααααΆαααα ααΈαααααΆ αααααΆααα₯ααααΆαα·αααΆαα αΌααα½ααα α αΆααααΆααααΈαα½αααααΆααααααα α α·αααααααΎααΆααααα ααΆααααααααΆααα "ααΎαααΉαααααΎαα·α αα½α ααα»ααααααα’" α αααααΊαα½αααααΆαααΈαα αααΎααα ααΎααΆα ααα»ααααααΈααΆαααααααα½αααααΆααααααΆααΆαααΆαα α’αααΈαααααα α·ααααααα»αααΊααΆαααααααααα
αα·αααααΆαααααΌααααααααααΆααΆαααΌαααααΆααααααΆααα αααα»αααΌαααααΆααα·ααααααααΌα ααααΆααΉααα·αααααΆαα αα·αααααΆαβαα·αβα’αΆα βαααβαα βααΎβαα·αααααΆαβαααααβαααβααα
αα
αααα»αααΆααααααααααααααΎα αααααΆααααααΆ α’αα»αααααα½ααα·αα’αΆα
α
αΌαααααΎαα»αααΆαααΆαααααααααααααααααΆαααα αααβααΆααβαααααβααααααα·ααααΆβααΆααβα’ααβαα
βαααα»αβαααααα
ααααα ααΆααααααααα (αα·αααααααααααα
αααα»αα’ααααα) ααΆαααααααααααΈααααΎααααΆαααααΆαα
αααΎαα
ααα ααααΈαααααααΆααα SELECT αααα»ααα·ααααααα·αααααΆααα·αααααΌαααΆαααΆαα» Transact-SQL ααΆααααααααα
COUNT
αα»αααΆα ROWSET (OPENDATASOURCE
,OPENQUERY
,OPENROWSET
, αα·αOPENXML
)
OUTER
α αΌααα½α (LEFT
,RIGHT
α¬FULL
)ααΆααΆααααααα½αααΆα (αααααααααααααΆαα α
SELECT
ααα ααααΈαααααααΆααααα αααα»αFROM
ααααΆ)
α αΌααα½αααααααα½αα―αα
ααΆααααααΆαααα½ααααααααααΎSELECT *
orSELECT <table_name>.*
DISTINCT
STDEV
,STDEVP
,VAR
,VARP
α¬AVG
ααααααααΆααΆαααΌαα (CTE)float1, α’ααααα, ntext, ααΌαααΆα, XML ααΆαα¬ ααααααΈαα―αααΆα αα½ααα
αααα½ααα
OVER
clause ααααα½ααααα αΌααα»αααΆααααααα’α½α α αααΆααααααΆαα α¬ααα»αααΆαααααΆααααα’αααααααα (
CONTAINS
,FREETEXT
)
SUM
αα»αααΆαααααααααααααααααα·αα’αΆα αα»αα ααααΆαα
ORDER BY
αα»αααΆαααα»αααααααααα’αααααααΎααααΆαα CLR
TOP
CUBE
,ROLLUP
α¬GROUPING SETS
ααααα·ααααα·αα
MIN
,MAX
UNION
,EXCEPT
α¬INTERSECT
ααααα·ααααα·αα
TABLESAMPLE
α’αααααΆααΆα
OUTER APPLY
orCROSS APPLY
PIVOT
,UNPIVOT
αααα»ααα½αααααΌα
αααα»ααα½α (TVF) α¬α’αα»αααααααααααΆααΆααα α»ααα ααααΈαααααααΆααα (MSTVF)
OFFSET
CHECKSUM_AGG
ααΆαα αΌααα½αααΈααΆααααα αα ααΈα αααααΆααα αα·αααααααααααααΌαααΆαα αΆαααΆααα ααΆα’αΆα ααΆαααΆαααΆααααα½ααααα»αααΆααααααα’αααΈαααα’αΆα ααααΎααΆααΆαα’αααΈααααα·αα’αΆα ααααΎααΆαα αααααΈααααααα ααααΆααΌα ααΆαα
ααΎααααΈααααααα ααΆαααΆααααααα·ααααααα αααα»αααΆαα (ααΌαααααααααΆααααΆαα·ααααααα) DBMS αααααΉαααααΆα (ααΎααααααα‘αΌααΈαα αα·αααααα αα ααααα) αα αααα»ααα αα αααα·ααααΆ LGPL α αααααΆαααΆαααΆααααα ααΆαα½αααααααΌαααΆαααααααααΆααααΆααΆαα’αα»ααααααααααΆαααααα αααα»ααααααα·ααααΆααααΆααααααααΊαα·ααΆαααΆααα αααα»ααααααα·ααααΆαα»αααΆααααααΆααα·αααααΆα
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ
ααΎααΆααααΎαααΆααααΆαααΌα
ααααα
? PostgreSQL ααααΌαααΆαααααΎααΆ "αααΆαααΈααα·αααα·α" α ααΆααααα½ααααααααΆααααα»αααααΆααα½ααα
ααΆααααα»αααααααααΎααααα½αα αα
ααΈααα
ααΎααΆααΆαααααα·αααααΆααα? ααΆαααααα·αααααΆαααΆααα ααΆα’αα»αα ααααα·ααΆααααααΆααααΆααα αααα»αααααΆααααα’αΆα
αα·ααΆαααΆαααΆ ααααα·αααΎα’ααααα·α
αΆαααΆαααα½αααΆααααΆαααααααΆααα
αααα»ααααααα·ααΈααα αααααΆαααααααΆααΆαααααα·αααααΆαααΆαα’αααα’αα·ααααααααααα’α α’αααααααααααααα·ααΈ SQL ααααα’ααααΆααα’αΆα
ααααααααα½αααΆαα½αααΆααααααΆαααααα·αααααΆα ααα»ααααααΆαα½αααΉααααα½ααα½αααΆαα ααΆααααΉααα·αααΆαααΆαααΎαααΉαα
α·ααα α¬αααααααΆααΎααααΈααααΎααΆαααααα ααΏααααα½αααααααα₯α‘αΌαααααααα»αα’αΆα
αααααααααΆααααα»ααΆαααααααα·αααααΆαααΊααΆααααααααΆα
αααΎααααα»αααααΎααΆααα
ααΎαααα·ααΆαααααΆααααααΎαα‘αΎααα
ααΎ DBMS αααα
αα
αααα»αα’αααααααΆαααααα αααα»αααααΉααα·ααΆαα’αααΈαααααααα’αααα’αΆα
αααααααΆαααΉααααααΉαααΎαα»αααΆα ααααΎααΆαααΆαα½αααααααααΆααααααΌα αα·αα
αααΎααααα
ααααα: www.habr.com