Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Jul 2, 2024. It is now read-only.

Commit 277749d

Browse files
[RDBMS] Complete database documentation part (#186)
[RDBMS] Complete database documentation part
2 parents 83fabc9 + db6ff27 commit 277749d

File tree

12 files changed

+1478
-811
lines changed

12 files changed

+1478
-811
lines changed

‎poetry.lock

Lines changed: 100 additions & 99 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "python-course"
3-
version = "2023.11.dev"
3+
version = "2024.02.dev"
44
description = "Python training course materials"
55
license = "MIT"
66
authors = [

‎requirements.txt

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
1-
alabaster==0.7.13 ; python_version >= "3.9" and python_version < "4.0"
1+
alabaster==0.7.16 ; python_version >= "3.9" and python_version < "4.0"
22
babel==2.14.0 ; python_version >= "3.9" and python_version < "4.0"
3-
certifi==2023年11月17日 ; python_version >= "3.9" and python_version < "4.0"
3+
certifi==2024年2月2日 ; python_version >= "3.9" and python_version < "4.0"
44
charset-normalizer==3.3.2 ; python_version >= "3.9" and python_version < "4.0"
55
click==8.1.7 ; python_version >= "3.9" and python_version < "4.0"
66
colorama==0.4.6 ; python_version >= "3.9" and python_version < "4.0" and sys_platform == "win32" or python_version >= "3.9" and python_version < "4.0" and platform_system == "Windows"
77
docutils==0.18.1 ; python_version >= "3.9" and python_version < "4.0"
88
idna==3.6 ; python_version >= "3.9" and python_version < "4.0"
99
imagesize==1.4.1 ; python_version >= "3.9" and python_version < "4.0"
1010
importlib-metadata==7.0.1 ; python_version >= "3.9" and python_version < "3.10"
11-
jinja2==3.1.2 ; python_version >= "3.9" and python_version < "4.0"
11+
jinja2==3.1.3 ; python_version >= "3.9" and python_version < "4.0"
1212
latexcodec==2.0.1 ; python_version >= "3.9" and python_version < "4.0"
1313
markdown-it-py==2.2.0 ; python_version >= "3.9" and python_version < "4.0"
14-
markupsafe==2.1.3 ; python_version >= "3.9" and python_version < "4.0"
14+
markupsafe==2.1.5 ; python_version >= "3.9" and python_version < "4.0"
1515
mdit-py-plugins==0.3.5 ; python_version >= "3.9" and python_version < "4.0"
1616
mdurl==0.1.2 ; python_version >= "3.9" and python_version < "4.0"
1717
myst-parser==1.0.0 ; python_version >= "3.9" and python_version < "4.0"
@@ -21,24 +21,24 @@ pybtex==0.24.0 ; python_version >= "3.9" and python_version < "4.0"
2121
pygments==2.17.2 ; python_version >= "3.9" and python_version < "4.0"
2222
pyyaml==6.0.1 ; python_version >= "3.9" and python_version < "4.0"
2323
requests==2.31.0 ; python_version >= "3.9" and python_version < "4.0"
24-
setuptools==69.0.3 ; python_version >= "3.9" and python_version < "4.0"
24+
setuptools==69.1.0 ; python_version >= "3.9" and python_version < "4.0"
2525
six==1.16.0 ; python_version >= "3.9" and python_version < "4.0"
2626
snowballstemmer==2.2.0 ; python_version >= "3.9" and python_version < "4.0"
2727
sphinx-copybutton==0.5.2 ; python_version >= "3.9" and python_version < "4.0"
2828
sphinx-intl==2.1.0 ; python_version >= "3.9" and python_version < "4.0"
2929
sphinx-reredirects==0.1.3 ; python_version >= "3.9" and python_version < "4.0"
3030
sphinx-rtd-theme==1.3.0 ; python_version >= "3.9" and python_version < "4.0"
3131
sphinx==6.2.1 ; python_version >= "3.9" and python_version < "4.0"
32-
sphinxcontrib-applehelp==1.0.7 ; python_version >= "3.9" and python_version < "4.0"
32+
sphinxcontrib-applehelp==1.0.8 ; python_version >= "3.9" and python_version < "4.0"
3333
sphinxcontrib-bibtex==2.5.0 ; python_version >= "3.9" and python_version < "4.0"
34-
sphinxcontrib-devhelp==1.0.5 ; python_version >= "3.9" and python_version < "4.0"
35-
sphinxcontrib-htmlhelp==2.0.4 ; python_version >= "3.9" and python_version < "4.0"
34+
sphinxcontrib-devhelp==1.0.6 ; python_version >= "3.9" and python_version < "4.0"
35+
sphinxcontrib-htmlhelp==2.0.5 ; python_version >= "3.9" and python_version < "4.0"
3636
sphinxcontrib-jquery==4.1 ; python_version >= "3.9" and python_version < "4.0"
3737
sphinxcontrib-jsmath==1.0.1 ; python_version >= "3.9" and python_version < "4.0"
3838
sphinxcontrib-mermaid==0.8.1 ; python_version >= "3.9" and python_version < "4.0"
39-
sphinxcontrib-qthelp==1.0.6 ; python_version >= "3.9" and python_version < "4.0"
40-
sphinxcontrib-serializinghtml==1.1.9 ; python_version >= "3.9" and python_version < "4.0"
39+
sphinxcontrib-qthelp==1.0.7 ; python_version >= "3.9" and python_version < "4.0"
40+
sphinxcontrib-serializinghtml==1.1.10 ; python_version >= "3.9" and python_version < "4.0"
4141
sphinxcontrib-svg2pdfconverter==1.2.2 ; python_version >= "3.9" and python_version < "4.0"
4242
toml==0.10.2 ; python_version >= "3.9" and python_version < "4.0"
43-
urllib3==2.1.0 ; python_version >= "3.9" and python_version < "4.0"
43+
urllib3==2.2.1 ; python_version >= "3.9" and python_version < "4.0"
4444
zipp==3.17.0 ; python_version >= "3.9" and python_version < "3.10"
Lines changed: 239 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,239 @@
1+
# SOME DESCRIPTIVE TITLE.
2+
# Copyright (C) 2024, Python training course authors and contributors
3+
# This file is distributed under the same license as the Python Training
4+
# Course package.
5+
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
6+
#
7+
#, fuzzy
8+
msgid ""
9+
msgstr ""
10+
"Project-Id-Version: Python Training Course 2024.02.dev\n"
11+
"Report-Msgid-Bugs-To: \n"
12+
"POT-Creation-Date: 2024年02月18日 16:48+0200\n"
13+
"PO-Revision-Date: 2024年02月18日 16:59+0200\n"
14+
"Last-Translator: Serhii Horodilov <sgorodil@gmail.com>\n"
15+
"Language-Team: uk <LL@li.org>\n"
16+
"Language: uk\n"
17+
"MIME-Version: 1.0\n"
18+
"Content-Type: text/plain; charset=utf-8\n"
19+
"Content-Transfer-Encoding: 8bit\n"
20+
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
21+
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
22+
"Generated-By: Babel 2.14.0\n"
23+
"X-Generator: Poedit 3.4.2\n"
24+
25+
#: ../../src/rdbms/acid.txt:-1
26+
msgid "Database normalization"
27+
msgstr "Нормалізація бази даних"
28+
29+
#: ../../src/rdbms/acid.txt:-1
30+
msgid "Serhii Horodilov"
31+
msgstr "Serhii Horodilov"
32+
33+
#: ../../src/rdbms/acid.txt:-1
34+
msgid "sql, db, database, acid, atomic, consistent, isolated, durable"
35+
msgstr "sql, db, database, acid, atomic, consistent, isolated, durable"
36+
37+
#: ../../src/rdbms/acid.txt:8
38+
msgid "ACID"
39+
msgstr "ACID"
40+
41+
#: ../../src/rdbms/acid.txt:10
42+
msgid ""
43+
":abbr:`ACID (Atomicity, Consistency, Isolation, Durability)` is a set of "
44+
"properties of database transactions intended to guarantee data validity "
45+
"despite errors, power failures, and other mishaps. In the context of "
46+
"databases, a sequence of database operations that satisfies the ACID "
47+
"properties is called a transaction."
48+
msgstr ""
49+
":abbr:`ACID (Atomicity, Consistency, Isolation, Durability - атомарність, "
50+
"узгодженість, ізоляція, довговічність)` - це набір властивостей транзакцій "
51+
"бази даних, призначених для гарантування дійсності даних, незважаючи на "
52+
"помилки, збої в електропостачанні та інші непередбачувані ситуації. У "
53+
"контексті баз даних послідовність операцій з базою даних, яка задовольняє "
54+
"властивості ACID, називається транзакцією."
55+
56+
#: ../../src/rdbms/acid.txt:17
57+
msgid "Atomicity"
58+
msgstr "Атомарність"
59+
60+
#: ../../src/rdbms/acid.txt:19
61+
msgid ""
62+
"Transactions are often composed of multiple statements. Atomicity guarantees "
63+
"that each transaction is treated as a single \"unit\", which either succeeds "
64+
"completely, or fails completely: if any of the statements constituting a "
65+
"transaction fails to complete, the entire transaction fails and the database "
66+
"left unchanged. A guarantee of atomicity prevents updates to the database "
67+
"from occurring only partially, which can cause greater problems, than "
68+
"rejecting the whole series outright."
69+
msgstr ""
70+
"Транзакції часто складаються з декількох операцій. Атомарність гарантує, що "
71+
"кожна транзакція розглядається як одна \"одиниця\", яка або повністю "
72+
"завершується успішно, або повністю провалюється: якщо будь-який з "
73+
"операторів, що складають транзакцію, не завершується, вся транзакція "
74+
"провалюється, а база даних залишається незмінною. Гарантія атомарності "
75+
"запобігає частковому оновленню бази даних, що може спричинити більші "
76+
"проблеми, ніж повна відмова від усієї серії оновлень даних."
77+
78+
#: ../../src/rdbms/acid.txt:27
79+
msgid "As an example, there are few rows in an accounting table:"
80+
msgstr "Наприклад, в бухгалтерській таблиці є кілька рядків:"
81+
82+
#: ../../src/rdbms/acid.txt:29
83+
msgid "accounting"
84+
msgstr "accounting"
85+
86+
#: ../../src/rdbms/acid.txt:32
87+
msgid "person_id"
88+
msgstr "person_id"
89+
90+
#: ../../src/rdbms/acid.txt:32
91+
msgid "name"
92+
msgstr "name"
93+
94+
#: ../../src/rdbms/acid.txt:32
95+
msgid "balance"
96+
msgstr "balance"
97+
98+
#: ../../src/rdbms/acid.txt:34 ../../src/rdbms/acid.txt:40
99+
msgid "..."
100+
msgstr "..."
101+
102+
#: ../../src/rdbms/acid.txt:36 ../../src/rdbms/acid.txt:53
103+
msgid "529"
104+
msgstr "529"
105+
106+
#: ../../src/rdbms/acid.txt:36 ../../src/rdbms/acid.txt:53
107+
msgid "Dora Headstrong"
108+
msgstr "Dora Headstrong"
109+
110+
#: ../../src/rdbms/acid.txt:36
111+
msgid "1,000ドル"
112+
msgstr "1,000ドル"
113+
114+
#: ../../src/rdbms/acid.txt:38 ../../src/rdbms/acid.txt:55
115+
msgid "402"
116+
msgstr "402"
117+
118+
#: ../../src/rdbms/acid.txt:38 ../../src/rdbms/acid.txt:55
119+
msgid "Toby Mugwort"
120+
msgstr "Toby Mugwort"
121+
122+
#: ../../src/rdbms/acid.txt:38 ../../src/rdbms/acid.txt:55
123+
msgid "100ドル"
124+
msgstr "100ドル"
125+
126+
#: ../../src/rdbms/acid.txt:43
127+
msgid ""
128+
"In case, Dora wants to transfer 100ドル to Toby, this can be split into 3 "
129+
"statements:"
130+
msgstr "Якщо Дора хоче переказати 100ドル Тобі, це можна розбити на 3 операції:"
131+
132+
#: ../../src/rdbms/acid.txt:46
133+
msgid "Check if 100ドル is available"
134+
msgstr "Перевірити, чи доступні 100ドル"
135+
136+
#: ../../src/rdbms/acid.txt:47
137+
msgid "Deduct 100ドル from Dora's balance"
138+
msgstr "Відняти 100ドル з балансу Дори"
139+
140+
#: ../../src/rdbms/acid.txt:48
141+
msgid "Add 100ドル to Toby's balance"
142+
msgstr "Додати 100ドル на баланс Тобі"
143+
144+
#: ../../src/rdbms/acid.txt:50
145+
msgid "In case the 3rd statement fails, the data may stay as:"
146+
msgstr "Якщо 3-й оператор не спрацює, дані можуть залишитися у вигляді:"
147+
148+
#: ../../src/rdbms/acid.txt:53
149+
msgid "900ドル"
150+
msgstr "900ドル"
151+
152+
#: ../../src/rdbms/acid.txt:58
153+
msgid ""
154+
"Atomicity guarantee reverting database to an old state, in case any "
155+
"statement fails."
156+
msgstr ""
157+
"Атомарність гарантує повернення бази даних до старого стану, якщо якийсь "
158+
"оператор зазнає невдачі."
159+
160+
#: ../../src/rdbms/acid.txt:62
161+
msgid "Consistency"
162+
msgstr "Узгодженість"
163+
164+
#: ../../src/rdbms/acid.txt:64
165+
msgid ""
166+
"You can think \"consistency\" as \"correctness\". It ensures that a "
167+
"transaction can only bring the database from one consistent state to "
168+
"another, preserving database invariants: any data written to the database "
169+
"must be valid according to all defined rules, including constraints, "
170+
"cascades, triggers, and any combination of thereof. This prevents database "
171+
"corruption by an illegal transaction. As example, referential integrity "
172+
"guarantees the primary key -- foreign key relationship."
173+
msgstr ""
174+
"Ви можете думати про \"узгодженість\" як про \"правильність\". Вона "
175+
"гарантує, що транзакція може лише переводити базу даних з одного узгодженого "
176+
"стану в інший: будь-які дані, записані в базу даних, повинні бути дійсними "
177+
"згідно з усіма визначеними правилами, включаючи обмеження, каскади, тригери "
178+
"та будь-яку їх комбінацію. Це запобігає пошкодженню бази даних неправильною "
179+
"транзакцією. Наприклад, цілісність посилань гарантує зв'язок між первинним і "
180+
"зовнішнім ключами."
181+
182+
#: ../../src/rdbms/acid.txt:73
183+
msgid "Isolation"
184+
msgstr "Ізоляція"
185+
186+
#: ../../src/rdbms/acid.txt:75
187+
msgid ""
188+
"Transactions are often executed concurrently (e.g. multiple transactions "
189+
"reading and writing to a table at the same time). Isolation ensures that "
190+
"concurrent execution of transactions leaves the database in the state that "
191+
"would have been obtained if the transactions were executed sequentially. "
192+
"Isolation is the main goal of concurrency control; depending on the "
193+
"isolation level used, the effects of an incomplete transaction might not be "
194+
"visible to other transaction."
195+
msgstr ""
196+
"Транзакції часто виконуються паралельно (наприклад, декілька транзакцій "
197+
"одночасно читають і записують дані в таблицю). Ізоляція гарантує, що "
198+
"одночасне виконання транзакцій залишає базу даних у стані, який був би "
199+
"отриманий, якби транзакції виконувалися послідовно. Ізоляція є основною "
200+
"метою контролю паралелізму; залежно від рівня ізоляції, що використовується, "
201+
"наслідки незавершеної транзакції можуть бути невидимими для інших транзакцій."
202+
203+
#: ../../src/rdbms/acid.txt:83
204+
msgid ""
205+
"For example, two persons have access to the same account having 1,000ドル on "
206+
"it, and both persons tries to get the money out of this account. Dora tries "
207+
"to get 1,000,ドル and Toby tries to get 100ドル."
208+
msgstr ""
209+
"Наприклад, дві особи мають доступ до одного рахунку, на якому є 1,000,ドル і "
210+
"обидві особи намагаються зняти гроші з цього рахунку. Дора намагається зняти "
211+
"1,000,ドル а Тобі - 100ドル."
212+
213+
#: ../../src/rdbms/acid.txt:87
214+
msgid ""
215+
"The sum of the money to get out of the account is 1,100,ドル which cause an "
216+
"issue of leaving negative amount of money. So, one of these transactions "
217+
"fails."
218+
msgstr ""
219+
"Сума грошей, яку потрібно зняти з рахунку, становить 1,100,ドル що призводить "
220+
"до проблеми від'ємної суми. Отже, одна з цих транзакцій не вдається."
221+
222+
#: ../../src/rdbms/acid.txt:90
223+
msgid "Isolation ensures the concurrent executions are safe."
224+
msgstr "Ізоляція забезпечує безпеку конкурентного виконання."
225+
226+
#: ../../src/rdbms/acid.txt:93
227+
msgid "Durability"
228+
msgstr "Довговічність"
229+
230+
#: ../../src/rdbms/acid.txt:95
231+
msgid ""
232+
"The durability means once the transaction has been committed, the data must "
233+
"be writen to non-volatile memory. So, even if a crash happens, or something "
234+
"wrong with the database, the data must be where, and must not be corrupted."
235+
msgstr ""
236+
"Довговічність означає, що як тільки транзакція була здійснена, дані повинні "
237+
"бути записані в енергонезалежну пам'ять. Таким чином, навіть якщо трапиться "
238+
"збій або щось не так з базою даних, дані повинні бути на місці і не повинні "
239+
"бути пошкоджені."

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /