Jazyk SQL. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)

Similar documents
SQL language. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)

Databázy (1) Prednáška 11. Alexander Šimko

Spájanie tabuliek. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)

In This Lecture. SQL Data Definition SQL SQL. Non-Procedural Programming. Notes. Database Systems Lecture 5 Natasha Alechina

SQL: Concepts. Todd Bacastow IST 210: Organization of Data 2/17/ IST 210

SQL Commands & Mongo DB New Syllabus

1 Vytvorenie tabuľky

Joining tables. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)

Oracle Create Table Foreign Key On Delete No

Chapter 1 SQL and Data

Information Systems Engineering. SQL Structured Query Language DDL Data Definition (sub)language

Relational model. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)

SQL Functionality SQL. Creating Relation Schemas. Creating Relation Schemas

SQL Data Definition and Data Manipulation Languages (DDL and DML)

Chapter # 7 Introduction to Structured Query Language (SQL) Part I

Chapter 9: Working with MySQL

Chapter 13 : Informatics Practices. Class XI ( As per CBSE Board) SQL Commands. New Syllabus Visit : python.mykvs.in for regular updates

CS143: Relational Model

CGS 3066: Spring 2017 SQL Reference

Full file at

SQL DATA DEFINITION LANGUAGE

Private Institute of Aga NETWORK DATABASE LECTURER NIYAZ M. SALIH

SQL DATA DEFINITION LANGUAGE

SQL Fundamentals. Chapter 3. Class 03: SQL Fundamentals 1

Databázové systémy. SQL Window functions

Chapter 4. Basic SQL. Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Chapter 4: SQL Basics

RDBMS-Day3. SQL Basic DDL statements DML statements Aggregate functions

IBM DB2 UDB V7.1 Family Fundamentals.

The Structured Query Language Get Started

Essential Skills - RDBMS and SQL

DATABASES SQL INFOTEK SOLUTIONS TEAM

Lab # 4. Data Definition Language (DDL)

Databases CSCI 201 Principles of Software Development

SQL DATA DEFINITION LANGUAGE

Lab # 2. Data Definition Language (DDL) Eng. Alaa O Shama

Oral Questions and Answers (DBMS LAB) Questions & Answers- DBMS

COSC 304 Introduction to Database Systems SQL DDL. Dr. Ramon Lawrence University of British Columbia Okanagan

user specifies what is wanted, not how to find it

1. Using Bitvise SSH Secure Shell to login to CS Systems Note that if you do not have Bitvise ssh secure shell on your PC, you can download it from

GridDB Advanced Edition SQL reference

SQL: DDL. John Ortiz Cs.utsa.edu

Simple Quesries in SQL & Table Creation and Data Manipulation

COSC344 Database Theory and Applications. Lecture 5 SQL - Data Definition Language. COSC344 Lecture 5 1

Databázy (1) Prednáška 08. Alexander Šimko

Structure Query Language (SQL)

Module 3 MySQL Database. Database Management System

After completing this unit, you should be able to: Define the terms

MySQL Introduction. By Prof. B.A.Khivsara

Relational databases and SQL

Chapter 4. Basic SQL. SQL Data Definition and Data Types. Basic SQL. SQL language SQL. Terminology: CREATE statement

Carnegie Mellon Univ. Dept. of Computer Science Database Applications. General Overview - rel. model. Overview - detailed - SQL

Review. Objec,ves. Example Students Table. Database Overview 3/8/17. PostgreSQL DB Elas,csearch. Databases

SQL DDL. Intro SQL CREATE TABLE ALTER TABLE Data types Service-based database in Visual Studio Database in PHPMyAdmin

SQL: Data Definition Language


MTAT Introduction to Databases

Course Outline and Objectives: Database Programming with SQL

Structured Query Language (SQL): A Primer on Data Definition Language (DDL)

EGCI 321: Database Systems. Dr. Tanasanee Phienthrakul

CS2300: File Structures and Introduction to Database Systems

Data Definition and Data Manipulation. Lecture 5: SQL s Data Definition Language CS1106/CS5021/CS6503 Introduction to Relational Databases

Lecture 5: SQL s Data Definition Language

Unit 1 - Chapter 4,5

Oracle User Administration

SQL Data Definition Language: Create and Change the Database Ray Lockwood

How to define a relational schema for a data base?

Today Learning outcomes LO2

Index. Bitmap Heap Scan, 156 Bitmap Index Scan, 156. Rahul Batra 2018 R. Batra, SQL Primer,

Information Systems for Engineers Fall Data Definition with SQL

Structured Query Language (SQL)

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Principles of Data Management

SQL DDL II. CS121: Relational Databases Fall 2017 Lecture 8

INFORMATION TECHNOLOGY NOTES

SQL: Data De ni on. B0B36DBS, BD6B36DBS: Database Systems. h p:// Lecture 3

@vmahawar. Agenda Topics Quiz Useful Links

Poradové a agregačné window funkcie. ROLLUP a CUBE

Outline. Textbook Chapter 6. Note 1. CSIE30600/CSIEB0290 Database Systems Basic SQL 2

INTRODUCTION TO DATABASE

Content: How to transform the relational model into a database schema DDL: create table students(studentnr int, name varchar);

Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications. Today's Party. Example Database. Faloutsos/Pavlo CMU /615

Relational Database Languages

CSIE30600 Database Systems Basic SQL 2. Outline

Chapter 3: Introduction to SQL

(ADVANCED) DATABASE SYSTEMS (DATABASE MANAGEMENTS) PROF. DR. HASAN HÜSEYİN BALIK (6 TH WEEK)

History of SQL. Relational Database Languages. Tuple relational calculus ALPHA (Codd, 1970s) QUEL (based on ALPHA) Datalog (rule-based, like PROLOG)

! Define terms. ! Interpret history and role of SQL. ! Write single table queries using SQL. ! Establish referential integrity using SQL

SQL Introduction. CS 377: Database Systems

Applied Databases. Sebastian Maneth. Lecture 7 Simple SQL Queries. University of Edinburgh - February 1 st, 2016

Normalizácia a normálne formy

SQL. History. From Wikipedia, the free encyclopedia.

The SQL data-definition language (DDL) allows defining :

WHAT IS SQL. Database query language, which can also: Define structure of data Modify data Specify security constraints

Db2 Alter Table Alter Column Set Data Type Char

Introduction to Computer Science and Business

Recipient Configuration. Štefan Pataky MCP, MCTS, MCITP

From theory to practice. Designing Tables for an Oracle Database System. Sqlplus. Sqlplus. Technicalities. Add the following to your.

Data Base Concepts. Course Guide 2

MySQL Introduction. By Prof. B.A.Khivsara

Transcription:

Jazyk SQL Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) 2011-2016

Jazyk SQL - Structured Query Language SQL je počítačový jazyk určený na komunikáciu s relačným SRBD neprocedurálny (deklaratívny) jazyk čo chceme získať, nie ako chceme údaje získať (nie je to postupnosť krokov) SRBD získa údaje z databázy (fyzické úložisko) založený na relačnom kalkule n-tíc má matematický základ

História SQL 1970s Structured English Query Language (SEQUEL or SEQL) 1980 premenovaný na SQL 1986 SQL-86 ANSI štandard 1989 SQL-89 1992 SQL-92, výraznejšia zmena údajové typy pre dátum, čas množinové operácie zmeny exis. štruktúry ALTER, DROP SQL:1999, SQL:2003, SQL:2008, SQL: 2011

Databázové servery Oracle MySQL Microsoft SQL Server Mongo DB (NoSQL) PostgreSQL IBM DB2 Microsoft Access Apache Cassandra (NoSQL) SQLite Redis (NoSQL) [1] http://db-engines.com/en/ranking (2016)

Typy príkazov jazyka SQL DDL (Data Definition Language) jazyk na definíciu štruktúry databázy vrátane zmien v štruktúre CREATE, DROP, ALTER, TRUNCATE DML (Data Manipulation Language) jazyk na manipuláciu s údajmi vrátane dopytov SELECT, INSERT, UPDATE, DELETE DCL (Data Control Language) jazyk pre riadenie prístupu k údajom GRANT, REVOKE

Údajové typy údajový typ definuje množinu hodnôt, ktoré môže nadobúdať stĺpec (doména atribútu) umožňuje definovať doménovú integritu kategórie niektorých zabudovaných údajových typov pre prácu s reťazcami znakov (bitov) číselnými hodnotami dátumom a časom multimediálnymi údajmi (BLOB)

Základné údajové typy INTEGER - celé čísla FLOAT - desatinné čísla NUMBER(n,s) - číslo s deklarovanou presnosťou CHAR(n) - reťazec s fixnou dĺžkou VARCHAR(n) - reťazec s premenlivou dĺžkou CLOB - obrovské (max 8TB) reťazce (texty) DATE - rok, mesiac, dátum, čas, minúty, sekundy TIMESTAMP - rozširuje typ DATE o zlomky sekúnd

Príkaz CREATE TABLE vytvára tabuľku (schémy jednotlivých vzťahov) nezabudnúť vykonať dostatočnú analýzu pri vytváraní tabuľky! syntax: CREATE TABLE meno_tabuľky( nazov1 typ1 [obmedzenia], nazov2 typ2 [obmedzenia],... nazovn typn [obmedzenia] );

Príklad použitia CREATE TABLE CREATE TABLE fbuser ( id NUMBER(10), meno VARCHAR2(10), priezvisko VARCHAR2(20), datum_narodenia DATE, pohlavie CHAR, adresa VARCHAR2(256) );

Príkaz DROP TABLE odstráni tabuľku syntax: DROP TABLE názov_tabuľky; príklad: DROP TABLE student;

Preventívne odstránenie odstráni predchádzajúcu verziu tabuľky (alebo pohľadu) pred vytvorením novej umiestňuje sa pred samotné vytvorenie tabuľky (alebo pohľadu) zabezpečí dostupnosť názvu používa sa najmä pri vývoji softvéru syntax DROP VIEW názov; CREATE VIEW názov AS...; alebo CREATE OR REPLACE VIEW názov AS...;

Odporúčané kroky pri vytváraní tabuľky 1. identifikovať údajové typy jednotlivých atribútov (stĺpcov) 2. identifikovať stĺpce, ktoré musia a ktoré nesmú byť nulitné 3. identifikovať stĺpce, ktoré musia byť unikátne 4. identifikovať páry primárnych a cudzích kľúčov 5. identifikovať predvolené hodnoty 6. identifikovať obmedzenia pre stĺpce (vzhľadom na použitú doménu) 7. vytvoriť tabuľku

Zobrazenie informácií o tabuľke informácie (opis) o tabuľke predstavuje: zoznam atribútov (stĺpcov) tabuľky, ich údajové typy, a ohraničenia (ak existujú). syntax: DESC tabuľka; DESCRIBE tabuľka;

Ohraničenia pre tabuľky vynútenie ohraničenia nad tabuľkou pri vkladaní, zmene alebo mazaní povinnosť uvedenia hodnoty NOT NULL unikátne hodnoty UNIQUE primárne kľúče PRIMARY KEY cudzie kľúče FOREIGN KEY kontrola CHECK predvolená hodnota - DEFAULT

Povinnosť uvedenia hodnoty, unikátne a predvolené hodnoty CREATE TABLE osoba ( id INT PRIMARY KEY, meno VARCHAR(20) NOT NULL, priezvisko VARCHAR(30) NOT NULL, rodne_cislo CHAR(10) UNIQUE, mesto VARCHAR(30) DEFAULT 'Kosice' );

Porovnanie NOT NULL, UNIQUE a PRIMARY KEY NOT NULL stĺpec nie je možné vložiť hodnotu NULL hodnoty sa môžu opakovať UNIQUE stĺpec je možné vložiť hodnotu NULL hodnoty sa nemôžu opakovať PRIMARY KEY stĺpec nie je možné vložiť hodnotu NULL hodnoty sa nemôžu opakovať

Primárne kľúče - jednoduchý kľúč (jeden stĺpec) CREATE TABLE predmet ( id INT PRIMARY KEY, nazov VARCHAR(32) NOT NULL ); CREATE TABLE predmet ( id INT, nazov VARCHAR(32) NOT NULL, CONSTRAINT predmet_pk PRIMARY KEY (id) );

Primárne kľúče - zložený kľúč (viacero stĺpcov) CREATE TABLE predmet_zapis ( id_predmet INT, id_student INT, PRIMARY KEY ( id_predmet, id_student) );

Cudzie kľúče a referenčná integrita I. cudzí kľúč predstavuje vzťah (linku) medzi stĺpcami dvoch tabuliek tabuľka s cudzím kľúčom: child table tabuľka obsahujúca primárny kľúč: referenced (parent) table kľúčové slovo: REFERENCES syntax: REFERENCES tabuľka(stĺpec)

Cudzie kľúče a referenčná integrita II. CREATE TABLE predmet_zapis ( id_predmet INT REFERENCES predmet(id), id_student INT REFERENCES student(id), PRIMARY KEY (id_predmet, id_student) );

Cudzie kľúče a referenčná integrita III. CREATE TABLE predmet_zapis ( id_predmet INT, id_student INT, PRIMARY KEY (id_predmet, id_student), FOREIGN KEY(id_predmet) REFERENCES predmet(id), FOREIGN KEY(id_student) REFERENCES student(id) );

Kontrola CHECK kontrola podmienky pri vkladaní a aktualizácii; môže ich byť viacero príklad: CREATE TABLE student (... rocnik INT NOT NULL CHECK(rocnik>=1 AND rocnik<=5) -- CONSTRAINT rocnik_obmedzenie -- CHECK(rocnik>=1 -- AND rocnik<=5) );

Príkaz ALTER TABLE zmení štruktúru tabuľky pridaním (ADD) stĺpca, odstránením (DROP COLUMN) stĺpca, alebo zmenením (MODIFY) stĺpca syntax: ALTER TABLE tabuľka operácia stĺpec [typ] [ohraničenie];

Príklad použitia príkazu ALTER TABLE pridanie stĺpca: ALTER TABLE student ADD sex CHAR; odstránenie stĺpca: ALTER TABLE student DROP COLUMN sex; zmena stĺpca: ALTER TABLE tabuľka MODIFY name VARCHAR(20);

Otázky?