DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Модульна робота з баз даних та інформаційних систем

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
Комп’ютерні науки
Кафедра:
Кафедра інформаційних систем та мереж

Інформація про роботу

Рік:
2015
Тип роботи:
Готова модульна робота
Предмет:
Бази даних та інформаційні системи
Група:
ПМ-21
Коротко про документ

Про що ця робота

Документ містить приклади SQL-запитів для роботи з реляційною базою даних та функції VBA для розрахунку стипендій. У роботі наведено приклади вибірки, оновлення та видалення даних.

У роботі розглядаються

  • Реляційні бази даних
  • SQL запити
  • Мова VBA
  • Проєктування таблиць
  • Робота з наборами записів
  • Обробка екзаменаційних оцінок

Зміст і розділи

  1. SQL запити вибірки, оновлення та видалення
  2. Створення таблиць та зв'язків через VBA
  3. Функція розрахунку успішності
Для кого:Студенти технічних спеціальностей та розробники баз даних
Викладачі:Іваненко

Ключові поняття

SQLVBADatabaseTableDefRecordsetInner JoinSelectUpdateDeleteIndex

Частина тексту файла (без зображень, графіків і формул):

INSERT INTO Стипендія (НомерЗалікової, ДатаПочатку, ДатаЗавершення, РозмірСтипендії) INNER JOIN Викладач ON Екзамен.НомерПосвідчення = Викладач.НомерПосвідчення) INNER JOIN Предмет ON Екзамен.НомерПредмету = Предмет. НомерПредмету WHERE Викладач.ПосадаВикладача = «професор» AND Викладач.ПрізвищеВикладача = «Іваненко» AND Екзамен.ОцінкаЗПредмету > 95; UPDATE Студент SET Рейтинг = Рейтинг/2 WHERE Група LIKE “*-5#” AND НомерЗалікової IN (SELECT DISTINCT НомерЗалікової FROM Екзамен WHERE ОцінкаЗПредмету >=0 AND ОцінкаЗПредмету <50); DELETE FROM Екзамен WHERE НомерЗалікової IN ( SELECT Екзамен.НомерЗалікової FROM Екзамен INNER JOIN ( SELECT НомерЗалікової, COUNT (НомерЗалікової) AS CNT FROM Екзамен WHERE ОцінкаЗПредмету >=0 AND ОцінкаЗПредмету <50 GROUP BY НомерЗалікової ) AS s ON Екзамен.НомерЗалікової = s. НомерЗалікової WHERE s.CNT>3 ); A Dim db As Database Dim tdf As TableDef Dim fld As FieldDef Set db = CurrentDb Set tdf = db.CreateTableDef(“Екзамен”) Set fld = tdf.CreateField(“НомерЗалікової”) fld.Type = Integer fld.Required = True tdf.Fields.Append fld fld = Nothing Set fld = tdf.CreateField(“НомерПредмету”) fld.Type = Integer fld.Required = True tdf.Fields.Append fld fld = Nothing Set fld = tdf.CreateField(“ДатаЕкзамену”) fld.Type = DateTime fld.Required = True tdf.Fields.Append fld fld = Nothing Set fld = tdf.CreateField(“НомерПосвідчення”) fld.Type = Integer fld.Required = True tdf.Fields.Append fld fld = Nothing Set fld = tdf.CreateField(“ОцінкаЗПредмету”) fld.Type = Integer fld.Required = True fld.ValidationRule = “>= 0 And <= 50” tdf.Fields.Append fld fld = Nothing Set idx = tdf.CreateIndex(“PK”) Set fld = idx.CreateField(“НомерЗалікової”) idx.Fields.Append fld fld = Nothing Set fld = idx.CreateField(“НомерПредмету”) idx.Fields.Append fld fld = Nothing Set fld = idx.CreateField(“ДатаЕкзамену”) idx.Fields.Append fld fld = Nothing idx.Primary = True tdf.Indexes.Append idx db.TableDefs.Append tdf Set rel = db.CreateRelation(“FK_Stud_Exam”) rel.ForeignTable = “Екзамен” Set fld = rel.CreateField(“НомерЗалікової”) rel.ForeignName = “НомерЗалікової” rel.Fields.Append fld db.Relations.Append rel Public Function successful_count (GroupName) successful_count = 0 Dim db As Database Set db = CurrentDb SELECT НомерЗаліковки, MAX(Здачі1) AS Здачі FROM (SELECT НомерЗаліковки, НомерПредмету, COUNT(НомерЗаліковки) AS Здачі1 FROM Екзамен GROUP BY НомерЗаліковки, НомерПредмету ) GROUP BY НомерЗаліковки SELECT НомерЗаліковки, SUM(ОцінкаЗПредмету) AS Сума_Оцінок, COUNT(ОцінкаЗПредмету) AS Кількість_Предметів, MIN(ОцінкаЗПредмету) AS min_val FROM Екзамен GROUP BY НомерЗаліковки WHERE s.Здачі = 1 AND (ss.Сума_Оцінок/ ss.Кількість_Предметів)>=88 AND min_val>70 AND ss.Кількість_Предметів > 0 ”) Successful_count = rs.RecordCount If (Successful_count>0) Then rs.MoveFirst For i = 0 To (rs.RecordCount -1) Nu = rs(“НомерЗалікової”) Set rs_1 = db.OpenRecordset(“SELECT ОцінкаЗПредмету FROM Екзамен WHERE НомерЗалікової = “ & Nu & ” ORDER BY ДатаЕкзамену”) rs_1.MoveFirst nw = rs_1(“ОцінкаЗПредмету”) For j = 0 To rs_1.RecordCount -2 bf = nw rs_1.MoveNext nw = rs_1(“ОцінкаЗПредмету”) If (nw<bf) Then Successful_count = Successful_count – 1 Exit For End If Next If (i<( rs.RecordCount -1)) Then rs.MoveNext Next End If End Function 
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!