natgillin/translations-raw huggingface dataset:
& kexi; provides a Multiple Document Interface (MDI). This means that you can have several database objects (such as tables, queries, forms and scripts) open at the same time and in the same & kexi; main window. Each database object is shown in a child window within the main window.
У & kexi; передбачено Multiple Document Interface (MDI або інтерфейс роботи з декількома документами). Це означає, що ви можете працювати одразу з декількома об’ єктами бази даних (зокрема таблицями, запитами, формами і скриптами) у одному головному вікні & kexi;. Кожен з об’ єктів бази даних буде показано у дочірньому вікні головного вікна програми.
There is a choice of two MDI modes available, allowing a choice of how child windows are managed and displayed. The two modes are: IDEAl Mode; and Childframe Mode. These modes are described in the following two sections. You can change the MDI mode from the MDI Mode sub-menu under the Window menu. Note that changing the MDI mode requires & kexi; to be restarted before the new mode takes effect.
Ви можете обрати один з двох режимі роботи MDI. Цей вибір визначить способи керування та показу дочірніх вікон. Передбачено два режими: Режим IDEA; і Режим дочірніх блоків. Опис цих режимів наведено у наступних двох розділах. Змінити режим роботи MDI можна за допомогою підменю Режим MDI у меню Вікно. Зауважте, що для набуття чинності новим режимом MDI вам доведеться перезапустити & kexi;.
IDEAl mode
Режим IDEAl
IDEAl mode is the default MDI mode, and may be familiar from other & kde; applications. In this mode, a single child window is shown maximized within the & kexi; main window at once. A tab bar, containing one tab for each child window, allows other child windows to be viewed by simply clicking on the relevant tab.
Режим IDEA є типовим режимом MDI, з ним ви вже, ймовірно, ознайомилися у інших програмах & kde;. У цьому режимі у головному вікні & kexi; буде одночасно показано лише одне максимізоване вікно. За допомогою панелі вкладок, на якій міститиметься по одній вкладці для кожного дочірнього вікна, ви зможете перемикатися на інші дочірні вікна простим клацанням лівою кнопкою миші на заголовку відповідної вкладки вікна.
Childframe mode
Режим дочірнього блоку
In Childframe mode, child windows are displayed in the main & kexi; window, but need not be maximized within it. In order to use Childframe mode, you need to select Window, MDI Mode, Childframe Mode from the menu.
У режим дочірніх блоків дочірні вікна буде показано у головному вікні & kexi;, але не обов’ язково максимізованими. Щоб увімкнути режим дочірніх блоків, вам слід скористатися пунктом меню Вікно, Режим MDI, Режим дочірніх блоків.
Each child window has a title bar with buttons for maximizing, minimizing and closing it. They can also be moved and resized within the main window in the normal way (for example, they can be moved by clicking and dragging the title bar).
На смужці заголовка кожного з дочірніх вікон буде показано кнопки, призначені для максимізації, мінімізації та закриття цього вікна. Ці вікна можна буде пересувати, їх розміри у головному вікні можна буде змінювати у звичайний спосіб (наприклад, пересунути вікно можна перетягуванням його за смужку заголовка).
The buttons behave as follows: the right-most button closes the child window. The button on its left maximizes the child window - note this causes the buttons to move to the top right of the main window, above the Properties editor if it is open. The next button to the left toggles the child window between minimized and restored.
Керувати вікнами за допомогою кнопок можна так: натискання найправішої кнопки закриває дочірнє вікно. Натискання кнопки, розташованої ліворуч, максимізує дочірнє вікно, — зауважте, що після цього кнопки буде пересунуто у верхній правий кут головного вікна, у область над Редактором властивостей, якщо його відкрито. Натискання наступної кнопки призводить до перемикання вікна між режимами мінімізації і відновлення розмірів.
The left-most button detaches, or undocks, the child window, allowing it to be moved out of the main window. For more information on docking and undocking windows, see the next section.
Натискання найлівішої кнопки призводить до від’ єднання або розблоковує дочірнє вікно, що надає вам змогу пересувати це дочірнє вікно головним вікном. Докладніше про швартування та розблокування вікон ми розповімо у наступному розділі.
Docking and Undocking Windows
Швартування і від’ єднання вікон
By default, the Project Navigator and Properties Editor panels are displayed as part of the main & kexi; window. It is possible to undock each panel, so that it is displayed in a separate window. Once undocked, it is possible to dock the panel so it appears back in the main window again.
Типово у головному вікні & kexi; буде показано панелі Навігатора проектом та Редактора властивостей. Кожну з цих панелей можна розблокувати так, щоб її було показано у окремому вікні. Після розблокування ви можете знову пришвартувати панель так, що її знову буде показано у головному вікні програми.
In Childframe mode, it is also possible to undock child windows. For example, a child window showing a database table could be undocked, allowing the child window showing the table to be maximized on the screen.
Розблоковувати вікна можна і у режимі дочірніх блоків. Ви, наприклад, можете розблокувати дочірнє вікно з таблицею бази даних, що надасть вам змогу максимізувати вікно таблиці на екрані.
It can be useful to undock a window when using:
Вікно може бути від’ єднано, якщо ви користуєтеся:
a small screen;
невеличким екраном;
large tables, queries or forms; and/ or
великими таблицями, запитами або формами і/ або
more than one monitor.
декількома моніторами.
Docking and undocking side panels
Швартування і від’ єднання бічних панелей
The Project Navigator and Properties Editor side panels may be undocked by either:
Бічні панелі Навігатора проектом та Редактора властивостей можна розблокувати у два способи:
double-clicking on the'grip 'bar at the top of the panel; or
двічі клацнути на смужці « захоплення » у верхній частині панелі і
clicking once on the arrow at the top of the panel, next to the cross.
навести вказівник миші на стрілочку у верхній частині панелі, розташовану поряд з хрестиком, і один раз клацнути лівою кнопкою миші.
Once undocked, panel windows may be docked into the main window again similarly to undocking:
Після розблокування вікна панелей можна знову пришвартувати до головного вікна подібно до розблокування:
double-clicking on the'grip 'bar at the top of the window; or
двічі клацнути на смужці « захоплення » у верхній частині вікна і
Docking and undocking child windows
Швартування і від’ єднання дочірніх вікон
Child windows may be docked and undocked in Childframe mode only.
Дочірні вікна можна швартувати або розблоковувати лише у Режимі дочірніх блоків.
In Childframe mode, child windows may be undocked by:
У режимі дочірнього блоку, дочірні вікна може бути від’ єднано так:
right-clicking in the tab bar, on the tab corresponding to the window to be undocked, and selecting Undock; or
наведіть вказівник на відповідну до вікна вкладку на панелі вкладок, клацніть правою кнопкою миші і оберіть у контекстному меню пункт Розблокувати, або
right-clicking on the title bar of the child window, and selecting Undock; or
наведіть вказівник на панель заголовка дочірнього вікна, клацніть правою кнопкою миші і оберіть у контекстному меню пункт Розблокувати, або
if the child window is not maximized, clicking the arrow in the top right corner of the child window (next to the minimize, maximize and close buttons for that child window);
якщо дочірнє вікно не максимізовано, натисканням кнопки зі стрілкою у верхньому правому куті дочірнього вікна (розташовано поряд з кнопками мінімізації, максимізації та закриття дочірнього вікна);
if the child window is maximized, clicking the arrow to the right of the menu bar (next to the minimize, restore and close buttons for that child window).
якщо дочірнє вікно буде максимізовано, натисканням кнопки зі стрілочкою, розташованої праворуч від смужки меню (поряд з кнопками мінімізації, відновлення та закриття дочірнього вікна).
To dock a child window, right-clicking in the tab bar, on the tab corresponding to the window to be docked, and select Dock.
Щоб пришвартувати дочірнє вікно, наведіть вказівник миші на вкладці панелі вкладок, яка відповідає вікну, яке слід пришвартувати, клацніть правою кнопкою миші і оберіть у контекстному меню пункт Пришвартувати.
& kexi; Copyright 2002-2006 The & kexi; Team
Авторські права на програму & kexi; належать Команді & kexi;, ©2002– 2006
& kexi; Developers:
Розробники & kexi;
Documentation by Martin A. Ellis martin. ellis@kdemail. net, Jaroslaw Staniek staniek@kde. org with contributions from Anne-Marie Mahfouf, Raphael Langerhorst, Michal Kubicki and Aron Stansvik.
Авторами документації є Martin A. Ellis martin. ellis@ kdemail. net, Jaroslaw Staniek staniek@ kde. org, окремий внесок зробили Anne- Marie Mahfouf, Raphael Langerhorst, Michal Kubicki і Aron Stansvik.
Introduction to Databases
Вступ до баз даних
What Is a Database?
Що таке база даних?
You can define a database as a collection of data on one topic. It is organised in a way allowing to easily browse the information, make changes or add new items.
Базу даних можна визначити як збірку даних з певної теми. Цю збірку певним чином впорядковано, що спрощує перегляд інформації, внесення змін та додавання нових записів.
Look at this diagram for one of the above examples: a simple phone book.
На діаграмі наведено один з прикладів, про який ми говорили раніше: проста телефонна книга.
A diagram of a phone number database
Діаграма бази даних телефонних номерів
The above picture shows a set of two contacts each of which is presented on a separate card. It appears that such a card can constitute a single row in a table:
На наведеному вище малюнку показано набір з двох записів контактів, кожен з яких зображено як окрему картку. Зрозуміло, що такій картці можна поставити у відповідність окремий рядок таблиці:
Contacts table
Таблиця Контакти
Tel No.
Номер телефону
Joan
Джоан
Adam
Адам
Terms and definitions: A single data which constitutes a part of a greater collection can be called a row or more professionally a record. The collection is normally called a table. Moreover, the most natural name for the table is one describing the data it offers/ stores which is Contacts. Furthermore, each row in the table consists of columns often also called fields. In the table Contacts there are two columns (fields): Name and Tel No..
Терміни та визначення: окремий елемент даних, що є частиною більшої збірки можна назвати рядком або, якщо сказати професійніше, записом. Сама збірка записів називається таблицею. Крім того, найприроднішою назвою для такої таблиці є та назва, яка описує дані, що зберігаються у таблиці, тобто Контакти. Крім того, кожен з рядків таблиці складається зі стовпчиків, які часто називають полями. У таблиці Контакти два стовпчики (поля): Ім’ я і Номер телефону.
For simple uses a single table can make up a database. Many people consider these two equivalent. As you will see, for real databases we usually need more than one table.
У простих випадках база даних складається з єдиної таблиці. Багато хто вважає, що база даних — це і є одна таблиця. Як ми згодом переконаємося, для створення справжніх баз даних, зазвичай, потрібно декілька таблиць.
To sum up, you have already got a simple database with one table Contacts.
Ну от, у нас вже є проста база даних з одною таблицею Контакти.
Database and Spreadsheet
База даних і електронна таблиця
It is very likely that you have already used spreadsheet applications like KSpread, OpenOffice. org Calc or Microsoft Excel. If so, you will probably wonder: since both spreadsheets and databases have tables, why should I use the latter?
Дуже ймовірно, ви вже колись користувалися програмами для роботи з електронними таблицями, зокрема KSpread, OpenOffice. org Calc або Microsoft Excel. Якщо це так, ви певно могли подумати: гаразд, у електронних таблицях і у базах даних є таблиці, навіщо ж користуватися останніми?
While comparing spreadsheets and databases you may encounter the following issues which you will later see in greater detail:
Порівнюючи електронні таблиці і бази даних ви можете зіткнутися з такими питаннями (пізніше ми розглянемо ці питання докладніше):
Referential data integrity
Цілісність довідкових даних
Data redundancy
Резервування даних
Data integrity and validity
Цілісність і коректність даних
Limiting data view
Обмеження перегляду даних
Performance and capacity
Швидкодія і місткість
Convenient data entry
Зручність запису даних
Programming
Програмування
Multiuse
Доступність для декількох користувачів
Security
Безпека
How Is a Database Different From a Spreadsheet?
Чим база даних відрізняється від електронної таблиці?
Gradually exceeding the capacity of a mobile phone, expand your table Contacts adding a column (field) Address. Add more telephone numbers (office, home) for each person and add surnames to names. To make it simpler we assume the following:
Поступово розширюючи можливості мобільного телефону, додайте до вашої таблиці Контакти стовпчик (поле) Адреса. Додайте більше телефонних номерів (робочі, домашні) для кожної з осіб у списку, а також додайте до імен прізвища. Щоб це було простіше зрозуміти, зробимо такі припущення:
the table is limited to two people (obviously, there could be hundreds and thousands of them in a real database)
кількість осіб у таблиці обмежено двома (очевидно, у справжній базі даних цих осіб можуть бути сотні або тисячі)
there are no two persons with the same name and surname
осіб з однаковими іменами і прізвищами у таблиці немає
Contacts table
Таблиця контактів
Name and surname
Ім’ я і прізвище
Tel
Телефон
Western Gate 1, Warsaw
Вестерн- гейт 1, Варшава
Western Gate 1
Вестерн- гейт 1
Warsaw, Western Gate 1
Варшава, Вестерн- гейт 1
Such a table can be made both in a spreadsheet and in a database. Using a spreadsheet is very easy, of course. What problems do we encounter at this stage?
Подібну таблицю можна створити як у формі електронної таблиці, так і у формі бази даних. Користуватися електронною таблицею, звичайно ж, дуже просто. З якими ж проблемами ми можемо зіткнутися на цьому етапі?
Suppose you are using a spreadsheet and you need to change the address of at least one person. You have a small problem: you often have to change the address in many rows. For example, Joan takes three rows. A real problem will arise if you forget to change one of the rows - the address assigned to this person will be ambiguous, hence your data loses integrity.
Припустімо, що ви користуєтеся електронною таблицею і маєте бажання змінити адресу принаймні однієї особи. З цим пов’ язано невеличку проблему: вам доведеться міняти цю адресу у багатьох рядках. Наприклад, Джоан зустрічається у трьох рядках. Справжня проблема виникне, якщо ви забудете змінити один з рядків: адреса, пов’ язана з однією з осіб стане неоднозначною, оскільки ваші дані втратять цілісність.
Moreover there is no simple way of deleting a chosen person from the table since you have to remember about deleting all rows related to him or her.
Крім того, не існує простих способів вилучення даних певної особи з таблиці, оскільки для подібного вилучення слід вилучити всі пов’ язані з цією особою рядки таблиці.
This is directly connected to the previous problem. In fields Name and surname and Address the same data is entered many times. This is typical of a spreadsheets' ineffective way of storing data because the database grows unnecessarily, thus requiring more computer resources (larger size of data and slower access).
Цю проблему безпосередньо пов’ язано з попередньою. У полях Ім’ я та прізвище та Адреса ті самі дані доведеться вводити декілька разів. Це типовий для електронних таблиць неефективний спосіб зберігання даних, оскільки за його використання розміри бази даних невиправдано збільшуються, а отже робота з даними вимагатиме підвищеного використання ресурсів комп’ ютера (більший об’ єм даних і повільніший доступ).
How can you solve these problems with a database? You can split information into smaller chunks by creating an additional table Persons with only two columns: Name and surname and Address:
Як можна розв’ язати ці проблеми за допомогою бази даних? Ви можете розділити інформацію на менші фрагменти створенням додаткової таблиці Особи з лише двома стовпчиками: Ім’ я та прізвище і Адреса:
Persons table
Таблиця Особи
Each row in the table Persons corresponds to a single person. Table Contacts is from now on a relation to the table Persons.
Кожен рядок у таблиці Особи відповідатиме одній особі. Віднині таблицю Контакти буде пов’ язано або, як ще кажуть, вона стане реляційною для таблиці Особи.
Note the way data is entered in the fields Name and surname and Address. People entering data can be fallible, sometimes even negligent. In our sample data we have both different sequence of entering name and surname (Joan Smith and Smith Joan; Adam and ADAM) and many more ways of entering the same address. Surely you can think of many other ways.
Зауважте спосіб, у який вводяться дані до полів Назва і прізвище та Адреса. Люди, які вводять дані можуть помилитися, а іноді є просто неуважними. У даних нашого прикладу у обох полях даних імені та прізвища можна використати різні послідовності імені і прізвища (Джоан Сміт і Сміт Джоан; Адам і АДАМ та багато інших варіантів).
The above problem shows that & eg; when searching the telephone number of a person whose address is "Western Gate 1, Warsaw" you will not get a full result. You will get only one row instead of three. Moreover You will also not find all the telephone numbers searching for the value "Joan Smith" in the field Name and surname, because "Smith Joan" will not fit to "Joan Smith".
Наведена вище проблема демонструє те, що, наприклад, пошук номеру телефону особи з адресою « Вестерн- гейт 1, Варшава » не дасть вам повних результатів. Ви отримаєте лише один рядок з трьох можливих. Крім того, ви не знайдете всіх телефонних номерів, якщо шукатимете за ключовими словами « Джоан Сміт » у полі Ім’ я та прізвище, оскільки запис « Сміт Джоан » не відповідає ключу пошуку « Джоан Сміт ».
How can you solve these problems using a database? You can do this by changing the design of the table Persons by:
Як же розв’ язати ці проблеми за допомогою бази даних? Ви можете виконати це завдання зміною компонування таблиці Особи у такий спосіб:
Dividing data in the field Name and surname into two separate fields: Name and Surname.
Поділити дані у полі Ім’ я і прізвище на два окремих поля: Ім’ я і Прізвище.
Dividing data in the field Address into three separate fields: Street, House number and City.
Поділити дані у полі Адреса між трьома окремими полями: Вулиця, Номер будинку і Місто.
Guaranteeing data correctness: by ensuring that no fields are empty, & eg; you must always enter house number.
Забезпечити коректність даних: програма має переконатися, що жодне з полів не є порожнім, наприклад, ви завжди маєте вказувати номер будинку.
A modified table looks something like this:
Змінена таблиця виглядає десь так:
Persons table
Таблиця осіб
Surname
Прізвище
Street
Вулиця
House number
Номер будинку
City
Місто
Smith
Сміт
Western Gate
Вестерн- гейт
Warsaw
Варшава
Willson
Вілсон
Frogs Drive
Фроґс- драйв
London
Лондон
Conditions
Умови
required field
обов’ язкове поле
Thanks to introducing the condition required field we can be sure that the entered data is complete. In case of other tables you may of course allow omitting certain fields while entering data.
Завдяки введенню умови обов’ язкове поле ми можемо забезпечити повноту введення даних. У інших таблицях ви можете, звичайно ж, пропустити деякі поля під час введення даних.
A spreadsheet displays all rows and columns of the table which is bothersome in case of very large data sheets. You may of course filter and sort rows in spreadsheets, however you must be extra careful while doing so. Spreadsheet users are in risk of forgetting that their data view has been filtered what can lead to mistakes. For example, while calculating sums you may think you have 100 rows of data while in fact there are 20 rows more hidden.
У електронних таблицях всі рядки і стовпчики таблиці показано у дещо важкій для сприйняття формі, особливо у таблицях, що містять дуже великий обсяг даних. Ви, звичайно ж, можете фільтрувати і впорядковувати рядки у електронній таблиці, але вам слід бути дуже обережним з такими діями. Користувачі електронних таблиць ризикують забути, що дані, які вони переглядають, було фільтровано, що може призвести до помилок. Наприклад, під час обчислення сум ви можете вважати, що у таблиці 100 рядків з даними, а насправді, у ній міститься ще 20 прихованих рядків.
If you want to work on a small subset of data, & eg; to send it for others to edit, you can copy and paste it to another spreadsheet and after editing paste the changed data back to the main spreadsheet. Such "manual" editing may cause data loss or incorrect calculations.
Якщо вам потрібно попрацювати над невеличкою підмножиною даних, наприклад, надіслати її іншим користувачам для редагування, ви можете скопіювати частину електронної таблиці і вставити її до іншої електронної таблиці, а після редагування вставити змінені дані назад до основної електронної таблиці. Подібне « ручне » редагування може спричинити втрату даних або помилку у обчисленнях.
To limit the data view database applications offer queries, forms and reports.
Для обмеження кількості записів у перегляді даних у програмах для роботи з базами даних передбачено запити, форми і звіти.
A very practical way of limiting is the following extended version of the previously described table Persons:
Дуже практичний спосіб обмеження показаних даних розширеної версії описаної раніше таблиці Особи:
Income
Прибуток
Let's assume that the newly introduced column Income contains confidential data. How can you share & eg; contact details of the persons with your coworkers but without revealing their income? It is possible if you share only a query and not the whole table. The query could select all columns except for the column Income. In database world such a query is often known as a view.
Припустімо, ви додали новий стовпчик Прибутки, що містить конфіденційні дані. Як тепер поділитися записом контакту з вашими колегами, не розкриваючи даних щодо прибутків? Це можна зробити, якщо ви надасте їм лише результати запиту, а не цілу таблицю. У запиті можна обрати всі стовпчики, окрім стовпчика Прибуток. У галузі роботи з базами даних такі запити часто називають переглядами.
Your computer is probably quite fast, however you will easily see that it does n't help with slow, large spreadsheets. Their low efficiency is first of all due to lack of indexes accelerating the process of data search (databases do offer them). Moreover if you use things like system clipboard, even copying data may become troublesome with time.
Навіть якщо ваш комп’ ютер є досить потужним, ви зможете легко помітити, що всієї його потужності не вистачить на роботу з повільними великими електронними таблицями. Основною причиною малоефективної роботи з електронними таблицями є відсутність покажчиків, які б пришвидшували пошук даних (у базах даних такі покажчики є). Крім того, якщо ви користуєтеся інструментами на зразок буфера обміну даними, навіть копіювання даних у електронній таблиці іноді може бути досить довготривалою дією.
Spreadsheets containing large data sets may take ages to open. A spreadsheet loads lots of data to the computer's memory while opening. Most of the data loaded are probably useless/ unnecessary for you at the moment. Databases unlike spreadsheets load data from computer storage only when needed.
Відкриття електронної таблиці, де міститься величезний обсяг даних, може тривати дуже довго. Під час відкриття з електронної таблиці до оперативної пам’ яті вашого комп’ ютера завантажується досить багато даних. Більша частина цих даних, ймовірно, не знадобиться або і зовсім не потрібна вам для роботи з таблицею. На відміну від електронних таблиць, у базах даних дані завантажуються зі сховища у оперативну пам’ ять лише у разі потреби.