Visual C++. Бази даних \Укр.\

В ході написання даної курсової роботи були створені такі програмні продукти: Консольне застосування - ODBC_Excel програма ODBC, що може бути

Visual C++. Бази даних \Укр.\

Курсовой проект

Разное

Другие курсовые по предмету

Разное

Сдать работу со 100% гаранией
ти дані
  • INSERT дозволяє додавати нові рядки
  • DELETE дозволяє видаляти рядки
  • UPDATE дозволяє змінювати існуюючі рядки
  • REFERENCES це право потрібне лише в тому випадку, коли користувач намагається модифікувати таблицю, що має обмеження цілостності посилань, які зсилаються на стовпці іншої таблиці. Такий користувач повинен мати право REFERENCES на стовпці, що використовуються з обмеженнями.
  • Права присвоюються:

    GRANT SELECT ON Student TO PUBLIC

    GRANT SELECT, INSERT ON Student TO Sveta, Lena

    Права UPDATE та REFERENCES можуть поширюватися на окремі стовпці.

    GRANT UPDATE (Raiting, Credit) ON Student TO Sveta

    Відмінити права на обєкти можна за допомогою оператора REVOKE:

    REVOKE SELECT ON Student FROM Lena

    В операторі REVOKE можна використовувати модифікатори CASCADE та RESTRICT. Якщо відміняються права користувача на деяку таблицю, то доцільно відмінити його права на всі представлення, що потребують доступу до всієї таблиці. Зробити це можна за допомогою CASCADE. Модифікатор RESTRICT не дозволяє відмінити право доступу, яке вимагається згідно іншим правам, що присвоєні цьому користувачу.

    Мова маніпулювання даними DML.

    Основні типи операторів:

    1. SELECT
    2. INSERT
    3. DELETE
    4. UPDATE

    SELECT основа SQL. Використовується кожен раз при отриманні даних. Базовий синтаксис оператора SELECT:

    SELECT * FROM Student

    Інші:

    SELECT * FROM Student WHERE Raiting>91 AND Credit<120

    SELECT * FROM Student WHERE NOT Course=4

    SELECT * FROM Student WHERE (Raiting/Credit)<1

    В SQL є спеціальний оператор для порівняння символьних рядків. Предикат LIKE вибирає рядки на основі визначеного шаблону. В шаблон можуть входити звичайні символи, а також символи % та _. Рядок символів довільної довжини можна поставити у відповідність шаблону %, а один символ - _.

    Вибір всіх рядків, що містять рядок Database в полі Title

    SELECT ChapterNum FROM Chapters WHERE Title LIKE %Database%

    Пошук заголовків, в яких починаючи з другої позиції міститься рядок ata

    SELECT ChapterNum FROm Chapters WHERE Title LIKE _ata%

    Для спрощення оператору WHERE використовується предикати IN та BETWEEN:

    SELECT StudID FROM Student WHERE Course IN (4, 3)

    SELECT StudName FROM Student WHERE Raiting BETWEEN 91 AND 100

    В багатьох задачах треба знайти всі можливі значення певного поля на деякій множині рядків. Зробити це можна за допомогою ключового слова DISTINCT, яке запобігає дублюванню елементів в вихідній множині результатів.

    SELECT DISTINCT Course FROM Student

    По замовченню рядки, що повертаються після виконання запиту, подаються в довільному порядку. Змінити це можна за допомогою оператора ORDER BY, який дозволяє вказати один або декілька стовпців, що будуть використовуватися для сортування повертаємих рядків. Для кожного стовпця можна вказати модифікатор ASC або DESC.

    SELECT StudID FROM Student ORDER BY StudID ASC

    Якщо в операторі ORDER BY вказати декілька стовпців, то повертаємі рядки будуть відсортовані спочатку за першим стовпцем. Потім рядки, що містять однакові значення в першому полі, будуть відсортовані ще і за другим стовпцем.

    Сортування рядків за зростанням значень в стовпці Salary, а рядки з однаковими значеннями в цьому полі за спаданням ідентифікаційних номерів EmpID:

    SELECT EmpID, Salary FROM Employee ORDER BY Salary ASC, EmpID DESC

    Дуже часто треба вираховувати значення на основі даних з усіх рядків, що повертаються, наприклад загальну суму значень в деякому стовпці всіх повертаємих рядків. Такі типи розрахунків можна виконувати за допомогою таких функцій:

    1. AVG повертає середнє значення в стовпці.
    2. COUNT підраховує кількість повертаємих рядків.
    3. MAX повертає максимальне значення для деякого стовпця в результуючій множині.
    4. MIN повертає мінімальне значення для деякого стовпця в результуючій множині.
    5. SUM підраховує загальну суму всіх значень для деякого стовпця в результуючій множині.

    Задання значень дати і часу викликає особливий інтерес. Як правило, в різних системах керування базами даних використовуються різні, а тому, несумісні, способи представлення літералів для таких значень. ODBC забезпечує переносимий синтаксис для таких значень.

    Для літералів дати використовуються один з наступних форматів:

    {d yyyy-mm-dd}

    Для літералів часу:

    {t hh:mm:ss}

    Для представлення значень дати і часу:

    {ts yyyy-mm-dd hh:mm:ss}

    Функції SQL.

    В SQL, що використовується для ODBC, визначено багато функцій, які можна використовувати при побудові запитів або в параметрі списку вибору, або в операторі WHERE. Ці функціі можна розподілити на 5 груп: числові, строкові, функції дати та часу, функції системи та функції перетворення типів даних.

    Синтаксис ODBC визначає таку форму запису при виклику функції в SQL:

    {fn імя функції}

    Строкові функції

    Деякі функції для роботи з рядками в ODBC SQL:

    1. CONCAT(вираз1, вираз2) приєднання вираз1 до вираз2;
    2. INSERT(вираз1, початок, довжина, вираз2) повертає вираз1, в якому видалена довжина символів, починаючи з символу початок, замість яких, починаючи з символу початок, вставлено вираз2;
    3. LCASE(вираз) повертає вираз, символи якого перетворені на відповідні з нижнього регістру;
    4. LENGTH (вираз) довжина вираз в символах;
    5. POSITION (вираз1, вираз2) повертає позицію вираз1 в вираз2;
    6. UCASE(вираз) повертає вираз, всі символи якого перетворені на відповідні верхнього регістру.

     

     

     

    Числові функції.

    Деякі числові функції в ODBC SQL:

    1. ABS(вираз) повертає абсолютне значення вираз;
    2. MOD(вираз1, вираз2) повертає остачу від ділення вираз1 на вираз2;
    3. POWER(вираз1, вираз2) повертає вираз1 в степені вираз2;
    4. RAND(вираз) повертає випадкове число. Вираз задає кількість випадкових чисел;
    5. ROUND(вира1, вираз2) повертає вираз1 округлене з точністю до вираз2 знаків після коми;
    6. SQRT(вираз) повертає квадратний корінь з вираз.

    Функції дати та часу.

    Деякі функції дати та часу в ODBC SQL:

    1. CURDATE() повертає поточну дату;
    2. CURTIME() повертає поточний час;
    3. NOW() повертає поточний час і дату в форматі дата/час;

    Системні функції.

    Деякі системні функції в ODBC SQL:

    1. DATABASE() повертає ім бази даних, що використовується в поточному сеансі;
    2. USER() повертає імя користувача бази даних, що використовується в поточному сеансі;

    Перетворення типів даних.

    Функція перетворення типів даних в ODBC SQL:

    CONVERT(вираз, тип_даних)

    Параметр тип_даних може приймати такі значення:

    1. SQL_BINARY
    2. SQL_CHAR
    3. SQL_DECIMAL
    4. SQL_DOUBLE
    5. SQL_FLOAT
    6. SQL_INTEGER
    7. SQL_LONGVARCHAR
    8. SQL_NUMERIC
    9. SQL_REAL
    10. SQL_SMALLINT
    11. SQL_TYPE_DATE
    12. SQL_TYPE_TIME
    13. SQL_TYPE_TIMESTAMP
    14. SQL_VARCHAR

    Обєднання.

    Операція обєднання повертає рядки, що сформовані з даних двох або більше різних таблиць і обєднані в процесі виконання запиту.

    SELECT Name, Prices FROM Products, Prices WHERE Products.ID=Prices.ID

    При виконанні цього оператора будуть виділені всі рядки з таблиці Products, що відповідають рядкам з таблиці Prices. Це так зване внутрішнє обєднання. Для того, щоб створити запит, який повертає рядки, що не мають відповідності в одній з цих таблиць, треба використовувати зовнішнє обднання.

    Вибрати рядки для кожного працівника, зокрема тих, хто ще не відноситься ні до якого відділу.

    SELECT * FROM

    {oj Employee LEFT OUTER JOIN Department ON

    Employee.DeptNum=Department.DeptNum}

    LEFT OUTER JOIN використовується для того, щоб гарантувати, що в результуючій множині будуть представлені всі рядки з лівої таблиці (Employee). Щоб включити всі рядки з правої таблиці можна використовувати RIGHT OUTER JOIN, а для вибору всіх рядків з обох таблиць FULL OUTER JOIN.

    Вкладені запити.

    Вкладений запит може використовуватися з предикатом EXISTS (NOT EXISTS).

    Вибрати список відділів, що не укомплектовані працівниками:

    SELECT DeptName FROM Department

    WHERE DeptNum NOT EXISTS (SELECT * FROM Employee)

    Повертається список відділів, номера яких не містяться в жодному запису таблиці Employee.

    Можна також використовувати предикати IN та NOT IN.

    Дуже часто вкладені запити використовуються для операцій порівняння з клячовими словами ANY та ALL.

    Скласти список всіх студентів департаменту компютерних технологій, у яких рейтинг вищий, ніж у студентів природничого факультету.

    SELECT Student_DCSS.Name FROM Student_DCSS

    ALL">WHERE Student_DCSS.Rating >ALL

    (SELECT Student_FNS.Rating FROM Student_FNS)

    Обєднані запити.

    SQL дозволяє отримати один результат через обєднання двох незалежних запитів шляхом їх комбінації за допомогою клю

    Похожие работы

    << < 1 2 3 4 5 6 7 8 > >>