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

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

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

Databázové systémy. SQL Window functions

VYLEPŠOVANIE KONCEPTU TRIEDY

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

Databázy (2) Prednáška 03. Alexander Šimko

doc. RNDr. Tomáš Skopal, Ph.D. RNDr. Michal Kopecký, Ph.D.

1 Vytvorenie tabuľky

Recipient Configuration. Štefan Pataky MCP, MCTS, MCITP

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

PL/SQL - procedurálny jazyk

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

Introduction. Sample Database SQL-92. Sample Data. Sample Data. Chapter 6 Introduction to Structured Query Language (SQL)

Unit 1 - Chapter 4,5

Normalizácia a normálne formy

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

kucharka exportu pro 9FFFIMU

SQL Functionality SQL. Creating Relation Schemas. Creating Relation Schemas

Data Reference Searcher. Documentation

D B M G. SQL language: basics. Managing tables. Creating a table Modifying table structure Deleting a table The data dictionary Data integrity

Database Systems. Bence Molnár

Creating Tables, Defining Constraints. Rose-Hulman Institute of Technology Curt Clifton

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

Group ID: Names: Score: / 100 CS122A HW2

2. E/R Design Considerations

Full file at

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

Database Management Systems

Alper VAHAPLAR

Vnorené SQL. Autor prezentácie: Peter Šípoš

Evolving Database Design and Architecture Patterns and Practices

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

MySQL by Examples for Beginners

Tvorba informačných systémov. 4. prednáška: Návrh IS

The "Parcels" Database Schema

COMP 430 Intro. to Database Systems

Announcements. Outline UNIQUE. (Inner) joins. (Inner) Joins. Database Systems CSE 414. WQ1 is posted to gradebook double check scores

user specifies what is wanted, not how to find it

In this Lecture. More SQL Data Definition. Deleting Tables. Creating Tables. ALTERing Columns. Changing Tables. More SQL

Full file at

2. Týždeň MySQL - dátové typy a funkcie num. a reťazcové

DB Creation with SQL DDL

SELECT Product.name, Purchase.store FROM Product JOIN Purchase ON Product.name = Purchase.prodName

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

INTERNATIONAL INDIAN SCHOOL, RIYADH XI XII BOYS SECTION INFORMATICS PRACTICES WORKSHEET 15 TH CHAPTER DATABASE TRANSACTION IMPORTANT QUESTION

Course Outline and Objectives: Database Programming with SQL

2.9 Table Creation. CREATE TABLE TableName ( AttrName AttrType, AttrName AttrType,... )

1 Komplexný príklad využitia OOP

Creating databases using SQL Server Management Studio Express

Aplikačný dizajn manuál

Riešenia a technológie pre jednotnú správu používateľov

CSC 261/461 Database Systems Lecture 10

REPORT DESIGNER 1 VYTVORENIE A ÚPRAVA FORMULÁRA. úprava formulárov v Money S4 / Money S Vytvorenie formulára

Last Name: Doe First Name: John Student ID:

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

JSON Support in MariaDB

FIGURE 1.0: TARGETED INCOMPLETE ERD. db2 => CREATE DATABASE EMPDB [PRESS ENTER & WAIT SUCCESSFUL MESSAGE]

CONSTRAINTS AND UPDATES CHAPTER 3 (6/E) CHAPTER 5 (5/E)

SQL: DDL. John Ortiz Cs.utsa.edu

COMP 330: SQL 3. Chris Jermaine and Kia Teymourian Rice University

1- a> [5pts] Create the new table by writing and executing a full SQL DDL statement based on the following schema:

Sample Relational Database

Tutorial 2: Relational Modelling

Perceptive Intelligent Capture Visibility

The University of Nottingham

IBM DB2 UDB V7.1 Family Fundamentals.

Draw an ER diagram that encodes the following business rules. Clearly mark all key and participation constraints.

.. Spring 2008 CSC 468: DBMS Implementation Alexander Dekhtyar..

Database Systems CSE 414

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

Database Technology. Topic 2: Relational Databases and SQL. Olaf Hartig.

Data Modelling and Databases. Exercise Session 7: Integrity Constraints

SQL - Subqueries and. Schema. Chapter 3.4 V4.0. Napier University

Downloaded from

NESTED QUERIES AND AGGREGATION CHAPTER 5 (6/E) CHAPTER 8 (5/E)

Database Programming with PL/SQL

Database Technology. Topic 3: SQL. Olaf Hartig.

Please pick up your name card

SQL DATA DEFINITION LANGUAGE

Chapter-14 SQL COMMANDS

Databases 1. Defining Tables, Constraints

Midterm Exam #1 (Version B) CS 122A Spring 2018

SQL DATA DEFINITION LANGUAGE

CS 338 Nested SQL Queries

INFOTECH Computer Education, Kishangarh (Raj) Visit : Page 1

CSE 344 Midterm. Wednesday, February 19, 2014, 14:30-15:20. Question Points Score Total: 100

Constraint satisfaction problems (problémy s obmedzujúcimi podmienkami)

IT360: Applied Database Systems. SQL: Structured Query Language DDL and DML (w/o SELECT) (Chapter 7 in Kroenke) SQL: Data Definition Language

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

/* --6). Name: Christopher Singleton Date: 02/12/2017 Class: PROG 140 Project: Module 04

Midterm Exam #2 (Version B) CS 122A Spring 2018

Database design process

Homework Assignment 2. Due Date: October 21th, :30pm (noon) CS425 - Database Organization Results

3ISY402 DATABASE SYSTEMS

Data Base Lab. The Microsoft SQL Server Management Studio Part-3- By :Eng.Alaa I.Haniy.

The Relational Model

COMP 430 Intro. to Database Systems

Assignment #2. CS Spring 2015 Due on Friday, June 19, 2015, 9 AM For instructions on how to submit your assignment check the course website.

MTAT Introduction to Databases

GridDB Advanced Edition SQL reference

Transcription:

Databázy (1) Prednáška 11 Alexander Šimko simko@fmph.uniba.sk

Contents I Aktualizovanie štruktúry databázy

Section 1 Aktualizovanie štruktúry databázy

Aktualizácia štruktúry databázy Štruktúra databázy sa vyvíja

Aktualizácia štruktúry databázy Čo s produkciou?

Aktualizácia štruktúry databázy ALTER TABLE

Premenovanie tabuľky ALTER TABLE názov_tabuľky RENAME TO nový_názov

Pridanie nového stĺpca ALTER TABLE názov_tabuľky ADD [COLUMN] definícia_stĺpca definícia_stĺpca ako pri CREATE TABLE

Pridanie nového stĺpca Čo existujúce riadky? DEFAULT hodnota NULL

Pridanie nového stĺpca Integritné obmedzenia Pozor!!! Existujúce riadky nemusia spĺňať integritné obmedzenia!

Pridanie nového stĺpca Integritné obmedzenia ALTER TABLE films ADD COLUMN length integer NOT NULL Ak tabuľka neobsahuje riadky, potom všetko zbehne Ak tabuľka obsahuje nejaké riadky, potom dostaneme chybu ERROR: column "length" contains null values

Zmazanie existujúceho stĺpca ALTER TABLE názov_tabuľky DROP [COLUMN] názov_stĺpca [CASCADE] CASCASE zmaže aj odkazujúce sa objekty

Premenovanie existujúceho stĺpca ALTER TABLE názov_tabuľky RENAME [COLUMN] názov_stĺpca TO nový_názov

Nastavenie novej DEFAULT hodnoty ALTER TABLE názov_tabuľky ALTER [COLUMN] názov_stĺpca SET DEFAULT výraz neberie ohľad na predchádzajúcu DEFAULT hodnotu

Zrušenie DEFAULT hodnoty ALTER TABLE názov_tabuľky ALTER [COLUMN] názov_stĺpca DROP DEFAULT

Zmena dátového typu stĺpca ALTER TABLE názov_tabuľky ALTER [COLUMN] názov_stĺpca [SET DATA] TYPE názov_typu

Zmena dátového typu stĺpca Čo s dátami?

Zmena dátového typu stĺpca Automatická konverzia dát integer varchar varchar(2) varchar(255)......

Zmena dátového typu stĺpca Konvertuje sa aj DEFAULT hodnota

Zmena dátového typu stĺpca vals key : varchar value : varchar length 20 height 67 ALTER TABLE vals ALTER COLUMN value SET DATA TYPE integer ERROR: column "value" cannot be cast automatically to type integer

Zmena dátového typu stĺpca ALTER TABLE názov_tabuľky ALTER [COLUMN] názov_stĺpca [SET DATA] TYPE názov_typu [USING nová_hodnota]

Zmena dátového typu stĺpca vals key : varchar value : varchar length 20 height 67 ALTER TABLE vals ALTER COLUMN value SET DATA TYPE integer USING value::integer vals key : varchar value : integer length 20 height 67

Zmena dátového typu stĺpca users id : serial name : varchar 1 johny 2 oz ALTER TABLE users ALTER COLUMN name SET DATA TYPE varchar(2) ERROR: value too long for type character varying(2)

Zmena dátového typu stĺpca users id : serial name : varchar 1 johny 2 oz ALTER TABLE users ALTER COLUMN name SET DATA TYPE varchar(2) USING left(name, 2) users id : serial name : varchar(2) 1 jo 2 oz

Zmena dátového typu stĺpca users id : serial name : varchar tel_number : integer 1 johny 9393344 2 oz 943423 ALTER TABLE users ALTER COLUMN tel_number SET DATA TYPE varchar USING concat( +466, tel_number) users id : serial name : varchar tel_number : varchar 1 johny +4669393344 2 oz +466943423

Zmena dátového typu stĺpca USING sa môže odkazovať aj na iné stĺpce

Zmena dátového typu stĺpca A čo DEFAULT hodnota?

Zmena dátového typu stĺpca Tá sa použitím USING nekonvertuje

Zmena dátového typu stĺpca ALTER TABLE users ALTER COLUMN tel_number DROP DEFAULT; ALTER TABLE users ALTER COLUMN tel_number SET DATA TYPE varchar USING concat( +466, tel_number); ALTER TABLE users ALTER COLUMN tel_number SET DEFAULT +88083582 ;

Pridanie integritného obmedzenia NOT NULL ALTER TABLE názov_tabuľky ALTER [ COLUMN ] názov_stĺpca SET NOT NULL

Pridanie integritného obmedzenia NOT NULL NULL hodnoty v existujúcich riadkoch vedú na chybu integritné obmedzenie sa nevytvorí

Odstránenie integritného obmedzenia NOT NULL ALTER TABLE názov_tabuľky ALTER [ COLUMN ] názov_stĺpca DROP NOT NULL

Pridanie ostatných integritných obmedzení ALTER TABLE názov_tabuľky ADD definícia_integritného_obmedzenia kde definícia_integritného_obmedzenia je [CONSTRAINT názov] UNIQUE (...) [CONSTRAINT názov] CHECK (...) [CONSTRAINT názov] PRIMARY KEY (...) [CONSTRAINT názov] FOREIGN KEY (...) REFERENCES...

Pridanie ostatných integritných obmedzení Ak dáta porušujú integritné obmedzenie, tak nie je pridané

Premenovanie existujúceho integritného obmedzenia ALTER TABLE názov_tabuľky RENAME CONSTRAINT názov_obmedzenia TO nový_názov

Odstránenie existujúceho integritného obmedzenia ALTER TABLE názov_obmedzenia DROP CONSTRAINT názov_obmedzenia

ALTER script postupnosť poväčšine ALTER príkazov, ktoré docielia požadovanú zmenu štruktúry databázy

Komplexný príklad films id : serial name : varchar director : varchar price : numeric chceme zmeniť na films id : serial name : varchar director_id : integer price : numeric persons id : serial name : varchar

Komplexný príklad CREATE TABLE persons ( id serial, name varchar ); INSERT INTO persons (name) SELECT DISTINCT director FROM films;

Komplexný príklad ALTER TABLE films ALTER COLUMN director SET DATA TYPE integer USING (SELECT id FROM persons WHERE name = director);

Komplexný príklad Toto žiaľ neide. USING nepodporuje vnorené SELECTy.

Komplexný príklad ALTER TABLE films ADD COLUMN director_id integer; UPDATE films AS f SET director_id = (SELECT p.id FROM persons AS p WHERE p.name = f.director);

Komplexný príklad ALTER TABLE films DROP COLUMN director;

Koniec Koniec