Это старая версия Информатика/Архив/2020/10Б за 27.01.2020 14:59 под редакцией VladimirIlyin.

Просмотр кода страницы 10 Б страница

((http://82.146.63.245/moodle/course/view.php?id=6 Курс по Java))

===Реляционные базы данных. Язык SQL===Для работы (обучения) удобно использовать SQLite. Почему?
**0. Soft**
Удобно работать при помощи SQLite Browser. Установите его.
**1. Создание таблиц**
[[http://xbb.uz/db/Tipy-dannyh-v-SQLite-versii-3 Какие типы данных есть в SQLitе? (ДО п. 2)]]
Изучите синтаксис SQL для [[http://moonexcel.com.ua/уроки-sql14-создание-таблиц-create-table_ru создания и удаления таблиц]]

Создайте базу данных из след. таблиц (какие поля можно и нужно сделать ключевыми?)

STUDENT : ID, SURNAME, NAME, STIPEND, KURS, CITY, BIRTHDAY, UNIV_ID
LECTURER : ID,  SURNAME, NAME, CITY, UNIV_ID
SUBJECT : ID, NAME, HOUR, SEMESTER
UNIVERSITY : ID, UNIV_NAME, RAITING, CITY
EXAM_MARKS : EXAM_ID, STUDENT_ID, SUBJ_ID, MARK, EXAM_DATE
SUBJ_LECT : LECTURER_ID, SUBJECT_ID

**2. Наполнение данными**
Изучите [[http://www.sql-tutorial.ru/ru/book_operator_insert.html синтаксис команды INSERT]].

В каждой таблице должно быть не менее 100 записей.
Для того, чтобы сделать это быстро, стоит использовать скрипты - программы, генерирующие команды INSERT

**3. Запросы а выборку из одной таблицы**
[[http://www.sql-tutorial.ru/ru/book_simple_select_statement.html Простейшие варианты]]
[[http://2sql.ru/novosti/sql-where/ Условие WHERE]]
[[https://function-x.ru/sql_select.html Дополнительные возможности SELECT]]
[[http://webmasterschool.ru/sql2/ch7.php Вычисляемые поля]]


==== Задачи на  простой SELECT ====

**Совсем просто**

1. Напишите запрос для вывода идентификатора (номера) предмета
обучения, его наименования, семестра, в котором он читается,
и количества отводимых на этот предмет часов для всех строк таблицы SUBJECT.

2. Напишите запрос, выбирающий все данные из таблицы STUDENT,
расположив столбцы таблицы в следующем порядке: KURS, SURNAME, NAME, STIPEND.

3. Напишите запрос, позволяющий получить из таблицы EXAM_MARKS
значения столбца MARK (экзаменационная оценка) для всех студентов, исключив из списка повторение одинаковых строк.

4. Напишите запрос, выбирающий данные о фамилии, имени и номере курса для студентов, получающих стипендию больше 140.

5. Напишите запрос, который выполняет вывод списка университетов, рейтинг которых превышает 300 баллов.

6. Напишите запрос на вывод находящихся в таблице EXAM_MARKS
номеров предметов обучения, экзамены по которым сдавались между 10 и 20 января 1999 года.

7. Напишите запрос на вывод названий предметов обучения, начинающихся на букву «И».

8. Напишите запрос для выбора из таблицы EXAM_MARKS записей,
в которых отсутствуют значения оценок (поле MARK).