среда, 21 января 2026 г.

Урок 19-20. Многотабличные БД. Связи между таблицами

Дата проведения занятия 21.01.26-22.01.2026 теория, 28.01.26-29.01.2026 практика

Теория
БД – компьютерная модель, построенная после проведения классификации объектов

Таблица описывает множество объектов с одинаковыми параметрами (число и названия параметров — одинаковы).
Каждая строка (запись) описывает один объект, т. е. содержит в полях значения параметров.
Поле имеет имя и определенный тип. Все поля с одним именем имеют одинаковый тип. Имя и Тип поля задаются при создании таблицы. Некоторые поля могут быть обязательны для заполнения, а другие нет.
Поле содержит данное определенного типа с определенными свойствами

Тип данных — определяет множество значений, которые может принимать данное поле в различных записях. Свойства поля — длина, формат, значение по умолчанию.
СУБД проверяет вводимое в поле данное на соответствие установленному типу и свойствам (целостность по данным).
В LibreOffice Base используются около 20 типов. Их можно разделить на 5 категорий:

  • числовой (число натуральное, целое, десятичное, двоичное и другие)
  • символьный (текст — одна строка или несколько) 
  • дата/время (дата, время)
  • логический
  • картинка

Записи о разных объектах должны обязательно чем-то отличаться, чтобы иметь возможность выбирать точно нужную запись. Для этого в каждой записи должно быть поле, которое имеет уникальное значение. Такое поле называют ключом или первичным ключом. (слайд 13 - Презентация)
В СУБД Base предлагается создать это поле, если разработчик не создал его сам — это поле ID. Ключ, который добавляется автоматически, называют суррогатным. Это поле обязательно имеет тип INTEGER и должно заполняться автоматически самой СУБД.

Многотабличные БД

Однотабличные БД неудобны, т.к. при большом количестве параметров будут повторяться поля (слайды 22-26 - презентации).
Удобнее классифицировать сведения об объектах и создать несколько таблиц - для каждого класса. При создании многотабличной БД между таблицами устанавливаются связи. Связь устанавливается только между парой таблиц.  

Связывается ключевое поле главной таблицы и  поле подчиненной таблицы, которое называется внешним ключом  (слайды 23 - 25  презентации). 

Существует 3 типа связей между таблицами: 
  • один-ко-многим (1:N), 
  • один-к-одному (1:1), 
  • многие-ко-многим (N:M). 
Виды связей показаны на  слайдах 26-30 презентации

вторник, 13 января 2026 г.

Урок 17. Основные понятия об ИС и БД

Проблемный вопрос: как организовать хранение огромного количества данных так, чтобы можно было легко находить указанные данные. Пример - библиотека: множество книг стоят на полках …. Как найти нужную?
Можно ли для этого использовать компьютер?

Откуда и каким образом в интернете появились базы данных, в которых поисковые системы ищут ответы на наши вопросы?

Материалы по теме смотрите на странице

Дата проведения занятия 14.01.26 - 15.01.26

Информационные системы

Информационная система (ИС) в широком смысле - это аппаратные и программные средства, предназначенные для того, чтобы своевременно обеспечить пользователей нужной информацией.
База данных (БД)  это специальным образом организованная совокупность данных о некоторой предметной области, хранящаяся во внешней памяти компьютера.
Система управления БД (СУБД) - это программные средства, которые позволяют выполнять все необходимые операции с БД 
В середине ХХ века  были предложены следующие принципы  проектирования табличных БД:
    ,
  • Каждая таблица описывает один класс объектов;
  • Порядок расположения полей в таблице не имеет значения;
  • Все значения одного поля относятся к одному типу данных;
  • В таблице нет двух одинаковых записей;
  • Порядок расположения  записей в таблице не имеет значения.
  1. Классификация ИС 
  2. Транзакция
Основные определения из предыдущих слайдов запишите в тетрадь.
Понятия БД тесно связаны с понятиями классификации объектов.
Классификация множества объектов помогает установить связи и закономерности внутри этого множества, построить модель, а следовательно изучить. 


БД – и есть компьютерная модель, построенная после проведения классификации. 
Структурирование данных - процесс, приводящий к определенной форме записи данных об объектах предметной области (класса)

Таблицы. Основные определения 


  • Поле  простейший объект БД, предназначенный для хранения значений параметра описываемого объекта.
  • Структура записи - совокупность логически связанных полей, характеризующих параметры реального объекта.
  • Запись – совокупность логически связанных полей, характеризующих свойства описываемого объекта
  • Таблица - совокупность записей одной структуры. В зависимости от структурирования данных в БД может быть несколько таблиц.
  • Ключ - поле или комбинация полей, однозначно определяющая запись.
    В СУБД Base
    в качестве ключа обычно используют тип «Целое [INTEGER]».

На практике работаем с  СУБД в приложении LibreOffice.org Base

четверг, 18 декабря 2025 г.

Урок 15-1. Для тех, кто сдает ЕГЭ

Дата проведения урока 17.12.25, 18.12.25
 
Выполните конспект параграфа 10 (начало на странице 132 Учебника 11 класса по информатике)
Особое внимание обратите на решение задач на стр 139 - 142. Это поможет вам в решении задачи №1 из ЕГЭ

Урок 15-2. Для тех, кто не сдает ЕГЭ

Дата проведения урока 17.12.25, 18.12.25

Для тех, кто не сдает информатику
 Выполните тест по заданию учителя

вторник, 4 ноября 2025 г.

Урок 9-2. Для тех, кто не сдает ЕГЭ по информатике. Запись алгоритма на языке программирования

Дата проведения урока 5.11.25, 6.11.25

Часть 2. Для тех, кто не сдает информатику
Повторение. Ветвление

Для изучения Python  используем главы из учебника Босовой 3.1, 3.2, 3.4
Ветвление - алгоритмическая конструкция, в которой в зависимости от результата проверки условия ("да" или "нет") предусмотрен выбор одной из двух последовательностей действий (ветвей). Алгоритмы, в основе которых лежит структура "ветвления", называются разветвляющимися.
Употребляют разные названия этого алгоритма:
  • разветвляющийся
  • ветвления
  • выбора
  • условный 

Существует 2 формы разветвляющегося алгоритма :
  • полная форма
  • неполная форма 
На Python полная форма разветвляющегося алгоритма реализуется с помощью условного оператора. Сдвиг в записи ОБЯЗАТЕЛЕН!
if условие:
оператор1
elif:
оператор2
elif:
оператор3
else:
оператор4
На Python неполная форма разветвляющегося алгоритма реализуется с помощью условного оператора:
if условие:
оператор

Условный оператор работает так: 
1.      Проверяется выражение, которое является условием.
2.      Если условие истинно (true), выполняется оператор1, иначе (false) — оператор2.
Операторы  оператор1 и оператор2 никогда не выполняются вместе — работает только один из них. После выполнения условного оператора управление передается на оператор, который следует за условным.

Обратите внимание: в ветке if и в ветке else стоит ТОЛЬКО ОДИН ОПЕРАТОР!
А что делать, если надо выполнить не ОДИН, а НЕСКОЛЬКО операторов? Их надо "объединить" в один оператор. На Python это делается очень просто: все эти операторы должны быть написаны с одинаковым сдвигом  
if условие:
оператор12
оператор13
оператор14
оператор15
else:
оператор21
оператор22
оператор23
   

Работа на компьютере

Задание 0. Запуск среды IDLE. Подготовка к работе
1. Для запуска оболочки выберите в меню Пуск --> Программы --> Python 3.12  --> IDLE
В результате откроется окно Python Shell, в котором символы >>> означают приглашение ввести команду. 
2.Для создания файла с программой в меню File выберите пункт New File
3. В открывшемся окне наберите текст программы (обе строки набираем с 1 позиции):
#Урок 3
print ('Урок 3. Вас приветствует программа Васи Иванова') 
4. Сохраните текст в своей папке под именем Py03_name.py, выбрав пункт меню File --> Save As. Учтите, что name - это ваша фамилия латинскими буквами.
В этом файле будете сохранять программы, написанные на этом уроке.

Задание 1
Составить блок-схему, написать в тетради программу, которая определяет, заканчивается ли введенное число на цифру 4 или нет. Внести текст программы в файл Py03_name.py, запустить, отладить.
Для определения последней, младшей цифры числа используется операция  a % 10.

Алгоритм
Начало
  Выведите сообщение: 'Программа определяет младшую цифру числа'
  Введите а
  Если a % 10 == 4: 
        выведите сообщение: 'Последняя цифра числа a=', a, ' это 4'
  иначе:
        выведите сообщение: 'Последняя цифра 
числа a=', a, ' это не 4'
Конец

2. Написать текст программы, отладить следующие программы
1. Ввести число, вывести сообщение о том, делится ли оно на 5

2.  Даны две переменные вещественного типа: AB. Перераспределить значения данных переменных так, чтобы в A оказалось меньшее из значений, а в B — большее. Вывести новые значения переменных A и B.

 На дополнительную оценку

Открыть главы из учебника Босовой, стр  17, задания 6, 5а, 5б

Урок 9-1. Для тех, кто сдает ЕГЭ. Запись алгоритма на языке программирования

Дата проведения урока 5.11.25, 6.11.25

Часть 1. Для тех, кто сдает информатику.
Задание КИМ 02. Построение таблиц истинности 

Вспомните логические операции. (Смотри учебник 10 класса Босовой Л.Л., стр 175)
Вот их перечень в порядке убывания приоритета:
1. Отрицание (not  x)
2. Конъюнкция (x and y)
3. Дизъюнкция (x or y), строгая дизъюнкция (x and not y) or (not x and y)
4. Импликация (not x or y) или (x <= y)
5. Эквивалентность (x == y) 

Таблица истинности логического выражения - это таблица значений, которые принимает логическое выражение при всех сочетаниях значений входящих в него переменных.

Напишем программу для решения одной из задач с сайта К. Полякова

(№ 6805) (ЕГЭ-2023) Логическая функция F задаётся выражением (x → (z ≡ w)) ˅ ¬(y → w). На рисунке приведён фрагмент таблицы истинности функции F. Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных x, y, z, w. В ответе напишите буквы x, y, z, w в том порядке, в котором идут соответствующие им столбцы. Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно. 

Учтите, что в таблице нет повторяющихся строк.

#№ 6805(ЕГЭ-2023) Логическая функция F задаётся выражением (x → (z ≡ w)) ˅ ¬(y → w).
# На рисунке приведён фрагмент таблицы истинности функции F. Определите, какому столбцу
# таблицы истинности функции F соответствует каждая из переменных x, y, z, w.
print ('x y z w F')
for x in 0, 1:
    for y in 0, 1:
        for z in 0, 1:
            for w in 0, 1:
                F = (x <=(z == w)) or not(y <= w)
                if not F:
                    print (x, y, z, w, F)
Проанализируем полученный результат. Ответ: zwyx