Egy lekérdezés végrehajtása

Slides:



Advertisements
Hasonló előadás
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
Advertisements

Winnie the pooh & friends
Module 4: Lemezek kezelése. Áttekintés  Munka a lemezkezelővel  Munka alapvető lemezekkel  Munka dinamikus lemezekkel  Lemezek előkészítése Windows.
„Songlish” How not to be a „Bicky Chewnigh”. Lehet zöld az ég…
Számold meg a fekete pontokat!
PL/SQL I. ADATBÁZIS ALAPÚ RENDSZEREK.  PL/SQL = Procedural Language/SQL  utasítást ; zárja le  PL/SQL blokk lezárása: /  kis- és nagybetű egyenértékű.
Bevezetés a tárgyakhoz Tárgyak  Objects are the containers for values of a specified type  Objects are either signals, variables or constants  Once.
INSERT INTO Egy vagy több rekordot ad hozzá a táblához. Egyetlen rekordot hozzáfűző kifejezés: INSERT INTO cél_tábla (mező1,mező2,…) VALUES (érték1, érték2,
A Windows 7 automatizált telepítése Windows AIK használatával
Triggerek II. ADATBÁZIS ALAPÚ RENDSZEREK.  Az Oracle kifinomult módon támogatja a sorszámozások generálását  Szekvencia: olyan adatbázis-objektum, amely.
Készítette: Sárközi Anikó
Krizsán Zoltán.  Ha az algoritmus sokáig dolgozik,  de el akarjuk kerülni a „fagyást”.  Kisebb a költsége, mint az új folyamatnak.  Programozás szempontjából.
Module 5: Configuring and Managing File Systems Fájl rendszer alakítása és kezelése.
Adattáblák létrehozása, módosítása, tranzakciók, megszorítások Rózsa Győző.
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele a minimum elégséges érdemjegynek!
ORACLE ORDBMS adminisztrációs feladatok 3. rész dr. Kovács László 2004.
Szerver és kliens gép közötti kommunikáció Adattárolási modellek  OLTP: OnLine Transaction Processing az MSSQL Szervert egy időben egyszerre sok felhasználó.
A varázslat világába lépsz be... Enter the world of magic …
4/1/2015 Cloud computing Dr. Bakonyi Péter.. 4/1/2015Cloud computing 2 Cloud definició A cloud vagy felhő egy platform vagy infrastruktúra Az alkalmazások.
Egy lekérdezés végrehajtása SELECT o1 FROM T1 WHERE o2 = … Hogyan jutnak el a megfelelő sorokból a mező értékei a klienshez?
Winnie the pooh & friends
„Tisztább kép” – együttműködési program Az új szintetikus drogok feltérképezéséért 2 nd European Workshop – ’Breaking the Drug Cycle’ project Budapest,
Kiss Tibor System Administrator (MCP) ISA Server 2006.
 Presentation for our collegues regarding meeting in Greece  Journalist from HVG (Weekly World Economy) visited our school  Visit at the Budapest Zoo.
Application Specific Module
A BCD használata üzleti partnerek felkutatásához
PL/SQL gyakorlás Kalmár György.
Adatbázis rendszerek II.
Maven és Ant Build eszközök bemutatása
Triggerek gyakorlás.
Idegen kulcsok Lokális és globális megszorítások Triggerek
“Tudásmegosztás és szervezeti problémamegoldás a mesterséges intelligencia korában” Levente Szabados Technológiai Igazgató.
ACCESS ALAPOK Alapfogalmak
International Olympiad in Informatics
Adatbázisok 8. előadás Tikk Domonkos.
Adatelemek ábrázolása
Test Automation Kurzus Intro
Adatbázisok SQL.
Triggerek Kalmár György.
adatbázis alapú rendszerek
Bevezetés az informatikába
„Animal Integration in the Educational Programme „ZORO”
Számítógépek felépítése 6. előadás virtuális tárkezelés
Kovács Gergely Péter Bevezetés
A nagyváradi villamosok megbízhatósági modellezése
Önkormányzati Fejlesztések Figyelemmel kísérése II.
Polymer Theory Why are we looking at polymer theory?
Lívia Vasas, PhD 2018 Disszertációk Lívia Vasas, PhD 2018.
Túlfeszültség védelem a hálózaton
Dr. Varga Beatrix egy. docens
Készletek kezelése építőipari logisztikai feladatok során
„Agilis-e vagy?” – egy váltókezelő naplója
Adatbázisok tervezése, megvalósítása és menedzselése
HWSW Meetup – Felhő és ami mögötte van
A Nation Library of Medicine és adatbázisai
Microsoft SQL licenselés a gyakorlatban
Jelfeldolgozás és rendszeridentifikáció
Csurgalékvíz tisztítás
egyetemi docens, tanszékvezető, KJE
Egy lekérdezés végrehajtása
Idegen kulcsok Lokális és globális megszorítások Triggerek
SQL jogosultság-kezelés
Egy lekérdezés végrehajtása
Microsoft eszközpályázat
Lívia Vasas, PhD 2019 Disszertációk Lívia Vasas, PhD 2019.
Számold meg a fekete pontokat!
Lívia Vasas, PhD 2018 Disszertációk Lívia Vasas, PhD 2018.
Gazdasági mediáció Economic mediation „Mi a legfontosabb kérdés
Vasas Lívia, PhD 2019 Témaközpontú irodalmazás, publikációs stratégia, tudományos közösségi hálók Közlési kötelezettség,
Előadás másolata:

Egy lekérdezés végrehajtása SELECT o1 FROM T1 WHERE o2 = … Hogyan jutnak el a megfelelő sorokból a mező értékei a klienshez?

Táblaterek és adatfájlok Egy táblatér egy vagy több adatfájlból áll. Egy adatfájl pontosan egy táblatérhez tartozik. USERS tablespace Data file 1 Data file 2 Tablespaces and Data Files A database is divided into logical storage units called tablespaces, which can be used to group related logical structures together. Each database is logically divided into one or more tablespaces. One or more data files are explicitly created for each tablespace to physically store the data of all logical structures in a tablespace. Note: You can also create the bigfile tablespaces, which are tablespaces with a single but very large (up to 4 billion data blocks) data file. The traditional smallfile tablespaces (which are the default) can contain multiple data files, but the files cannot be as large. For more information about the bigfile tablespaces, see the Database Administrator’s Guide.

Szegmens, Extens, Blokk Minden Szegmens egy táblatéren belül van. A Szegmensek extensekből állnak. Az Extensek egy adatfájlon belüli szomszédos adatblokkokból állnak. Az adatblokkok a lemezblokkokra (szektorokra) vannak leképezve. Segments, Extents, and Blocks Database objects, such as tables and indexes, are stored as segments in tablespaces. Each segment contains one or more extents. An extent consists of contiguous data blocks, which means that each extent can exist only in one data file. Data blocks are the smallest unit of I/O in the database. When the database requests a set of data blocks from the operating system (OS), the OS maps this to an actual file system or disk block on the storage device. Because of this, you need not know the physical address of any of the data in your database. This also means that a data file can be striped or mirrored on several disks. The size of the data block can be set at the time of the creation of the database. The default size of 8 KB is adequate for most databases. If your database supports a data warehouse application that has large tables and indexes, then a larger block size may be beneficial. If your database supports a transactional application where reads and writes are random, then specifying a smaller block size may be beneficial. The maximum block size depends on your OS. The minimum Oracle block size is 2 KB and should rarely (if ever) be used. You can have tablespaces with different block sizes. However, this should be used only for transportable tablespaces. For details, see the Database Administrator’s Guide. Segment Extents Data blocks Disk blocks

Logikai és fizikai struktúrák Logical Physical Database Schema Tablespace Data file Segment Extent Logical and Physical Database Structures An Oracle database is a collection of data that is treated as a unit. The general purpose of a database is to store and retrieve related information. The database has logical structures and physical structures. Tablespaces A database is divided into logical storage units called tablespaces, which group related logical structures together. For example, tablespaces commonly group all of an application’s objects to simplify some administrative operations. You may have a tablespace for application data and an additional one for application indexes. Databases, Tablespaces, and Data Files The relationship among databases, tablespaces, and data files is illustrated in the slide. Each database is logically divided into one or more tablespaces. One or more data files are explicitly created for each tablespace to physically store the data of all logical structures in a tablespace. If it is a TEMPORARY tablespace, instead of a data file, then the tablespace has a temporary file. Oracle data block OS block

Hogyan tárolódnak a táblabeli adatok? Columns Blocks Table A Table B Rows Segment Segment Table Tablespace How Table Data Is Stored When a table is created, a segment is created to hold its data. A tablespace contains a collection of segments. Logically, a table contains rows of column values. A row is ultimately stored in a database block in the form of a row piece. It is called a row piece because under some circumstances the entire row may not be stored in one place. This happens when an inserted row is too large to fit into a single block or when an update causes an existing row to outgrow its current space. Extent Row piece

Hol vannak a táblához tartozó adatblokkok? SELECT segment_name, segment_type, tablespace_name, header_file, header_block, blocks, extents FROM dba_segments where owner='NIKOVITS' AND segment_name='SZALLIT' AND segment_type='TABLE';

Hol vannak a táblához tartozó adatblokkok? SELECT segment_name, segment_type, file_id, block_id, blocks FROM dba_extents where owner='NIKOVITS' AND segment_name='SZALLIT' AND segment_type='TABLE';

Hol vannak a táblához tartozó adatblokkok? SELECT file_id, file_name, blocks FROM dba_data_files;

Az adatfájlnak melyik részét kell olvasnunk? (mekkora a blokkok mérete) SELECT tablespace_name, block_size FROM dba_tablespaces;

Az adatblokkok tartalma Block header Growth Free space Row data Database Block: Contents Oracle data blocks contain the following: Block header: The block header contains the segment type (such as table or index), data block address, table directory, row directory, and transaction slots of size 23 bytes each, which are used when modifications are made to rows in the block. The block header grows downward from the top. Row data: This is the actual data for the rows in the block. Row data space grows upward from the bottom. Free space: Free space is in the middle of the block. This enables the header and the row data space to grow when necessary. Row data takes up free space as new rows are inserted or columns of existing rows are updated with larger values. The examples of events that cause header growth are when the row directory needs more row entries or more transaction slots are required than initially configured. Initially, the free space in a block is contiguous. However, deletions and updates may fragment the free space in the block. The free space in the block is coalesced by the Oracle server when necessary.

Változó hosszúságú rekordok Mikor lesznek változó hosszúak a rekordok? Ha a fájl több tábla sorait együtt tárolja create table t (field1 int, field2 varchar2(n)) -> Varchar mező Problémák: A törléskor keletkező lyukak különböző méretűek lesznek Új sor beszúrásakor megfelelő méretű szabad hely van-e Megoldási lehetőség: maximális rekordméret alkalmazása Sok helyet elpazarlunk Használjunk rekord mutatókat (méretet tároljuk) Rekord méretek a fejlécben (alul) Tudjuk a rekordok kezdetét és méretét Rekord azon: blokkszám, rekord sorszám N ... 38 2 1 16 32

Rekordok szerkezete Fix hosszúságú rekordok A mezők közvetlenül egymás után vannak tárolva (nincs mutató) Változó hosszúságú rekordok Eltolás értékeket tartalmazó tömb NULL értéket jelöl a nulla hosszúságú mező f1 f2 f3 f4 Bázis cím (B) L1 L2 L3 L4 f3 címe = B+L1+L2 Where are the number of fields and data types stored? Record that grows moves subsequent fields f1 f2 f3 f4 Bázis cím (B)