<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="hu">
	<id>https://vik.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tarnay+K%C3%A1lm%C3%A1n</id>
	<title>VIK Wiki - Felhasználó közreműködései [hu]</title>
	<link rel="self" type="application/atom+xml" href="https://vik.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tarnay+K%C3%A1lm%C3%A1n"/>
	<link rel="alternate" type="text/html" href="https://vik.wiki/Speci%C3%A1lis:Szerkeszt%C5%91_k%C3%B6zrem%C5%B1k%C3%B6d%C3%A9sei/Tarnay_K%C3%A1lm%C3%A1n"/>
	<updated>2026-04-07T11:17:03Z</updated>
	<subtitle>Felhasználó közreműködései</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://vik.wiki/index.php?title=Adatvez%C3%A9relt_alkalmaz%C3%A1sok_fejleszt%C3%A9se_(AAF)_-_Kidolgozott_feladatok&amp;diff=188017</id>
		<title>Adatvezérelt alkalmazások fejlesztése (AAF) - Kidolgozott feladatok</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=Adatvez%C3%A9relt_alkalmaz%C3%A1sok_fejleszt%C3%A9se_(AAF)_-_Kidolgozott_feladatok&amp;diff=188017"/>
		<updated>2016-01-20T04:00:08Z</updated>

		<summary type="html">&lt;p&gt;Tarnay Kálmán: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vissza|Adatvezérelt_alkalmazások_fejlesztése}}&lt;br /&gt;
&lt;br /&gt;
A hivatkozott adatmodell megegyezett a gyakorlatokon használttal.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=2011 januári záróvizsga kérdések=&lt;br /&gt;
&lt;br /&gt;
A 2010-esből ami nem kellett, azt áttettem az egyéb kérdésekbe.&lt;br /&gt;
&lt;br /&gt;
==1. Ismertesse a háromrétegű architektúra elemeit, mutassa be az egyes rétegek szerepét! Milyen rétegfüggetlen szolgáltatások találhatók meg egy háromrétegű architektúrára épülő alkalmazásban?==&lt;br /&gt;
&lt;br /&gt;
[[File:aaf_3reteg.png|400px|right]]&lt;br /&gt;
A három réteg:&lt;br /&gt;
* Megjelenítési réteg&lt;br /&gt;
** Tipikusan MVC architektúra&lt;br /&gt;
** Felület független a tranzakcióktól&lt;br /&gt;
** Felhasználói input ellenőrzése&lt;br /&gt;
** Egyszerű transzformációk (név &amp;lt;-&amp;gt; id)&lt;br /&gt;
** Adatok megjelenítése&lt;br /&gt;
** Lokalizáció&lt;br /&gt;
* Üzleti réteg&lt;br /&gt;
** Business Entities&lt;br /&gt;
** Business Components&lt;br /&gt;
*** Összetett komponensek&lt;br /&gt;
*** Alapszolgáltatásokat implementál&lt;br /&gt;
*** Tranzakciók (része lehet)&lt;br /&gt;
** Business Workflow&lt;br /&gt;
*** Összetett üzleti folyamatok&lt;br /&gt;
*** Komponensekből építkezik&lt;br /&gt;
*** Tranzakció határok&lt;br /&gt;
** Service Interfaces (belső rétegek elrejtése)&lt;br /&gt;
* Adatelérési réteg&lt;br /&gt;
** DAL&lt;br /&gt;
*** Adatbázis hozzáférés&lt;br /&gt;
*** Elemi adatszolgáltatások&lt;br /&gt;
** Service Agents&lt;br /&gt;
*** Szolgáltatások elérése&lt;br /&gt;
*** Külső szolgáltatások &amp;quot;adatbázisként&amp;quot; látszanak&lt;br /&gt;
*** Csomagolás&lt;br /&gt;
&lt;br /&gt;
Rétegfüggetlen szolgáltatások:&lt;br /&gt;
* Security&lt;br /&gt;
** Authentication, Authorization, Secure Communication, Auditing, Profile management&lt;br /&gt;
* Operational management&lt;br /&gt;
** Exception management, Monitoring, Biz monitoring, Metadata, Configuration, Service Location&lt;br /&gt;
* Communication&lt;br /&gt;
** Synchronicity, Format, Protocol&lt;br /&gt;
&lt;br /&gt;
==2. Ismertesse a tranzakciók alaptulajdonságait! Mire szolgálnak a tranzakció izolációs szintek, milyen izolációs szinteket támogat az Oracle és az MS SQL Server?==&lt;br /&gt;
&lt;br /&gt;
A tranzakció a feldolgozás &#039;&#039;&#039;logikai egysége&#039;&#039;&#039;, olyan feldolgozási műveletek sorozata, melyek csak együttesen értelmesek. Alaptulajdonságok (ACID):&lt;br /&gt;
* Atomicity (Atomicitás)&lt;br /&gt;
** Vagy az összes művelet hatásos, vagy egyik sem&lt;br /&gt;
* Consistency (Konzisztencia)&lt;br /&gt;
** A rendszert konzisztens állapotból konzisztens állapotba viszi&lt;br /&gt;
** Hiba esetén is képes konzisztens állapotba visszaállni (soft hiba: memória tartalom vész el, hard hiba: háttértároló sérül)&lt;br /&gt;
* Isolation (Izoláció)&lt;br /&gt;
** Tranzakciók hatásai egymástól függetlenek&lt;br /&gt;
** Tranzakciók ütemezése&lt;br /&gt;
*** Mintha egymás után hajtódnának végre&lt;br /&gt;
*** Zárolás&lt;br /&gt;
* Durability (Tartósság)&lt;br /&gt;
** Hatása tartósan megmarad&lt;br /&gt;
** Nemcsak memóriában történik meg a módosítás (hibákra figyelni)&lt;br /&gt;
&lt;br /&gt;
Izolációs szintek: Az izoláció költséges, és legtöbb esetben nincs is rá szükség, ezért az izolációs szinteknek a feladata olyan megoldásokat választani, ami épp annyi megszorítást (overhead-et) visz a rendszerbe, amennyi még a tranzakciók helyes működéséhez feltétlen szükséges (lehetnek olyan problémák - a problémákat lást alább - amiket az adatbázis kezelő helyett az üzleti logika is meg tud oldani, ráadásul hatékonyabban az alap működésből adódóan).&lt;br /&gt;
&lt;br /&gt;
Megfelelő izoláció hiányában előforduló problémák:&lt;br /&gt;
* Elveszett módosítás: 2 tranzakció is módosítja az elemet, ekkor csak a később kommitált hatása marad meg&lt;br /&gt;
* Piszkos olvasás: Nem kommitált tranzakció adatát kiolvassa egy másik tranzakció&lt;br /&gt;
* Nem megismételhető olvasás: Olvasás eredménye függ attól, hogy a tranzakción belül mikor lett kiadva&lt;br /&gt;
* Fantom rekord: Kurzoroknál előfordulhat, hogy olyan elem van benne, ami már törlődött, vagy olyan elem hiányzik, ami azóta jött létre&lt;br /&gt;
&lt;br /&gt;
MSSQL:&lt;br /&gt;
* Uncommitted read: mind a 4 probléma&lt;br /&gt;
* Committed read: Nincs piszkos olvasás (csak kommittált adat olvasható)&lt;br /&gt;
**  Implementációja (MSSQL!):&lt;br /&gt;
*** Select utasítás&lt;br /&gt;
**** Megosztott zárakat használ&lt;br /&gt;
*** Rekord módosul&lt;br /&gt;
**** Más nem olvashatja&lt;br /&gt;
* Repeatable read: nincs piszkos olvasás, nincs nem megismételhető olvasás&lt;br /&gt;
* Serializable: Teljes izoláció -&amp;gt; egyik probléma sem fordulhat elő&lt;br /&gt;
* Snapshot (szabványtól eltérő)&lt;br /&gt;
** az Oracle Committed Read izolációs szint implementációjával kompatibilis&lt;br /&gt;
&lt;br /&gt;
Oracle:&lt;br /&gt;
* Committed read: Nincs piszkos olvasás (csak kommittált adat olvasható)&lt;br /&gt;
** Implementációja (Oracle!):&lt;br /&gt;
*** Select utasítás&lt;br /&gt;
**** Nem helyez el zárakat&lt;br /&gt;
*** Rekord módosul&lt;br /&gt;
**** A commitált kép &#039;&#039;&#039;mindig&#039;&#039;&#039; olvasható&lt;br /&gt;
* Serializable: Teljes izoláció -&amp;gt; egyik probléma sem fordulhat elő&lt;br /&gt;
* Read only (szabványtól eltérő)&lt;br /&gt;
** Serilazibale konzisztenciájú&lt;br /&gt;
** Nem módosíthat&lt;br /&gt;
** Tipikusan jelentésekhez&lt;br /&gt;
&lt;br /&gt;
==3. Ismertesse az adatbázisok szerver oldali programozásának előnyeit, hátrányait! Milyen programozási lehetőségei, sajátosságai vannak az Oracle Servernek?==&lt;br /&gt;
&lt;br /&gt;
Előnyök:&lt;br /&gt;
* Adatbázis felelős a konzisztenciáért&lt;br /&gt;
* Adatbiztonság&lt;br /&gt;
** Adatmódosítás csak definiált interfészen keresztül&lt;br /&gt;
* Zárt futtató környezet&lt;br /&gt;
* Teljesítmény növelés&lt;br /&gt;
** Csökkenő hálózati forgalom&lt;br /&gt;
** Tárolt végrehajtási tervek&lt;br /&gt;
** Cache&lt;br /&gt;
* Termelékenység&lt;br /&gt;
** Többkomponens hívhatja&lt;br /&gt;
** Egyszerűbb karbantartás&lt;br /&gt;
&lt;br /&gt;
Hátrányok:&lt;br /&gt;
* Nem szabványos&lt;br /&gt;
** Platformfüggő nyelvi elemek, megoldások&lt;br /&gt;
* Interpretált&lt;br /&gt;
* Növeli a szerver terhelését&lt;br /&gt;
* Nem, illetve nehezen skálázható&lt;br /&gt;
* Adatrétegbe nem illik bele az üzleti logika&lt;br /&gt;
&lt;br /&gt;
Oracle Server:&lt;br /&gt;
* Pascal jellegű szintax&lt;br /&gt;
* Tárolt eljárások&lt;br /&gt;
** Eltárolja a szerver a végrehajtási tervet, hivatkozott objektumokat és a státuszát&lt;br /&gt;
** Ha érvénytelenné válik(pl valamely tábla struktúrája vagy jogosultsága megváltozik), akkor következő futtatásnál fordítja újra&lt;br /&gt;
** Lehet külső, ekkor egy külső folyamat hajtja végre&lt;br /&gt;
** Lehet függvény, ekkor van visszatérési értéke&lt;br /&gt;
* Triggerek: Eseménykezelés&lt;br /&gt;
** DML(táblához), DDL(sémához), rendszeresemény hatására&lt;br /&gt;
** Instead of triggerrel lehet nézetekben is módosítást értelmezni&lt;br /&gt;
** Lehet sor és utasítás szintű&lt;br /&gt;
** :new és :old az új/eéőző érték&lt;br /&gt;
** Lehet kaszkádosítani&lt;br /&gt;
** Nem lehet rekurzió&lt;br /&gt;
** Triggerek sorrendje megadható&lt;br /&gt;
** DML-nél csatlakozik a tranzakcióhoz&lt;br /&gt;
** DDL-nél és rendszereseménynél új tranzakciót indít&lt;br /&gt;
* Csomagok: Eljárások gyűjteménye&lt;br /&gt;
** Interface&lt;br /&gt;
** Session kezelése&lt;br /&gt;
** Használatkor betöltödik az egész&lt;br /&gt;
* Interpretált&lt;br /&gt;
* Zárt környezet&lt;br /&gt;
&lt;br /&gt;
==4. Ismertesse az adatbázisok szerver oldali programozásának előnyeit, hátrányait! Milyen programozási lehetőségei, sajátosságai vannak az MS SQL Servernek?==&lt;br /&gt;
Lásd előző feladat&lt;br /&gt;
&lt;br /&gt;
MSSQL Server:&lt;br /&gt;
* Tárolt eljárások&lt;br /&gt;
** Optimalizál, fordít&lt;br /&gt;
** Újrafordít (pl új index bevezetésekor)&lt;br /&gt;
** Külső eljárások .NET Assemblyk&lt;br /&gt;
** Tárolt függvények: Nem módosíthatnak adatot&lt;br /&gt;
* Triggerek&lt;br /&gt;
** Inserted, Deleted az új/régi érték&lt;br /&gt;
** Kaszkádosítás&lt;br /&gt;
** Rekurzió&lt;br /&gt;
** Teljes sorrend nem definiálható, csak az első és utolsó&lt;br /&gt;
** Instead of triggerek&lt;br /&gt;
** DDL trigger is a tranzakció része&lt;br /&gt;
&lt;br /&gt;
==5. Mi a lekérdezés optimalizáló feladata? Ismertesse az Oracle Server lekérdezés optimalizációjának sajátosságait!==&lt;br /&gt;
&lt;br /&gt;
Optimalizálás: Kevésbé használja a hardvert ugyanannak a hatásnak az eléréséhez&lt;br /&gt;
* IO:&lt;br /&gt;
** Korai beolvasás&lt;br /&gt;
** Cilinder alapú szervezés (Egymás utáni adatok könnyen kiolvashatóak)&lt;br /&gt;
** RAID&lt;br /&gt;
** Liftezés&lt;br /&gt;
* CPU&lt;br /&gt;
* Memória&lt;br /&gt;
&lt;br /&gt;
Optimalizáló:&lt;br /&gt;
* Fizikai terv elkészítése&lt;br /&gt;
* Táblák bejárása&lt;br /&gt;
* Táblák összekapcsolása&lt;br /&gt;
* Logikai tervet kap&lt;br /&gt;
* Optimalizált tervet ad át a sorfordítónak, ami leképzi, majd a végrehajtó végrehajtja&lt;br /&gt;
&lt;br /&gt;
Logikai optimalizálás:&lt;br /&gt;
* Elemző fa kialakítása&lt;br /&gt;
** Reláció&lt;br /&gt;
** Művelet&lt;br /&gt;
** Adat áramlása (lentről felfelé)&lt;br /&gt;
* Relációs algebrai műveletek&lt;br /&gt;
* Fa átalakítása&lt;br /&gt;
** Kiválasztás lefelé&lt;br /&gt;
** Vetítés felfelé&lt;br /&gt;
** Join használata: Egyik attribútuma tábla&lt;br /&gt;
&lt;br /&gt;
Fizikai tervek optimalizációja: IO-ra&lt;br /&gt;
* Költségbecslés:&lt;br /&gt;
** B(R): Az R reláció által elfoglalt blokkok száma&lt;br /&gt;
** T(R): A reláció sorainak a száma&lt;br /&gt;
** V(R,a): Az R reláció az &#039;a&#039; attribútumainak a variáltsága&lt;br /&gt;
&lt;br /&gt;
Oracle optimalizációja:&lt;br /&gt;
* Módok:&lt;br /&gt;
** Atbocsájtó képesség&lt;br /&gt;
** Első n sor megtalálása&lt;br /&gt;
* Nézetek:&lt;br /&gt;
** Allekérdezésként vagy&lt;br /&gt;
** Külön optimalizálja&lt;br /&gt;
* Statisztikák:&lt;br /&gt;
** Defaultértékek, majd mintavételezés&lt;br /&gt;
** Adatszótárak&lt;br /&gt;
* Táblaelérési módok:&lt;br /&gt;
** Full table scan: Nincs index, sok rekord kell&lt;br /&gt;
** Rowid scan: Index alapján&lt;br /&gt;
** Unique index scan: Elsődleges kulcs alapján&lt;br /&gt;
** Index range scan: Index szerint rendezett eredményhalmaz&lt;br /&gt;
** Full index scan: Kulcs szerint rendezett eredményhalmaz&lt;br /&gt;
** Fast full index scan: Ha csak az index elemei kellenek (nem kell a táblát elérni hozzá)&lt;br /&gt;
** Index join: Összekapcsolt indexek attribútumaihoz&lt;br /&gt;
** Bitmap index scan: Feltétel kiértékeléséhez&lt;br /&gt;
* Indexek:&lt;br /&gt;
** B*&lt;br /&gt;
** Bitmap index&lt;br /&gt;
** Index organized table: Blokkok sorrendje index szerint&lt;br /&gt;
* SQL hint:&lt;br /&gt;
** Preferált index&lt;br /&gt;
** Index használatának tiltása&lt;br /&gt;
** Join típus&lt;br /&gt;
** Join sorrend&lt;br /&gt;
** Táblaelérési mód&lt;br /&gt;
** Párhuzamos végrehajtás&lt;br /&gt;
&lt;br /&gt;
==6. Mi a lekérdezés optimalizáló feladata? Ismertesse az MS SQL Server lekérdezés optimalizációjának sajátosságait!==&lt;br /&gt;
&lt;br /&gt;
Lásd: előző feladat&lt;br /&gt;
&lt;br /&gt;
MSSQL optimalizációja:&lt;br /&gt;
* Statisztikák alapján&lt;br /&gt;
* Triviális terv: Szabály alapú&lt;br /&gt;
* Nem triviális terv: Ha valamelyik fázis után elég kicsire becsüli a költséget, akkor nem megy tovább&lt;br /&gt;
** 0. fázis: Egyszerű átalakítások&lt;br /&gt;
** 1. fázis: Kibúvített átalakítások&lt;br /&gt;
** 2. fázis: Párhuzamos végrehajtások vizsgálata&lt;br /&gt;
* Táblaelérési módok:&lt;br /&gt;
** Table scan&lt;br /&gt;
** Clustered index scan: Nyalábolt adatolvasás, primary key mentén&lt;br /&gt;
** Nonclustered index scan: = operátor kiértékelésére&lt;br /&gt;
** Non/Clustered index seek: &amp;lt;, &amp;gt; operátorok kiértékelésére&lt;br /&gt;
* Indexek:&lt;br /&gt;
** B*&lt;br /&gt;
*** Egyszerű&lt;br /&gt;
*** Összetett&lt;br /&gt;
*** Clustered&lt;br /&gt;
* SQL hint&lt;br /&gt;
* Plan cache: A végrehajtási tervet eltárolja&lt;br /&gt;
* Indexelt nézetek: Eltárolja a nézetek eredményeit&lt;br /&gt;
* Included column: B* fa levelének bővítése oszlopokkal (a tényleges rekordot nem kell kiolvasni)&lt;br /&gt;
* Clustered és nonclustered indexek együttes használata&lt;br /&gt;
&lt;br /&gt;
==7. Mi az adatelérési osztálykönyvtárak szerepe? Ismertesse a kapcsolat alapú ADO.Net adatelérést!==&lt;br /&gt;
&lt;br /&gt;
Adatelérési könyvtár szerepe: Absztrahálja az adatelérést&lt;br /&gt;
&lt;br /&gt;
Kapcsolat alapú ADO.Net:&lt;br /&gt;
* Előnyei&lt;br /&gt;
** Konkurrencia kezelése egyszerűbb&lt;br /&gt;
** Adatok mindig a legfrissebbek&lt;br /&gt;
* Hátrányok&lt;br /&gt;
** Folyamatos kapcsolat&lt;br /&gt;
** Kevésbé skálázható&lt;br /&gt;
* DataReader&lt;br /&gt;
* SqlCommand&lt;br /&gt;
* SqlConnection&lt;br /&gt;
* Működés lépései:&lt;br /&gt;
** Kapcsolat nyitás&lt;br /&gt;
** Munka&lt;br /&gt;
** Kapcsolat zárás&lt;br /&gt;
* Pesszimista ütközéskezelés: Adatbázis zárak&lt;br /&gt;
&lt;br /&gt;
==8. Mi az adatelérési osztálykönyvtárak szerepe? Ismertesse a kapcsolat nélküli ADO.Net adatelérést! Hogyan működik az optimista konkurencia kezelés?==&lt;br /&gt;
&lt;br /&gt;
Lásd előző feladat&lt;br /&gt;
&lt;br /&gt;
Kapcsolat nélküli ADO.Net:&lt;br /&gt;
* Előnyei/Hátrányai: !kapcsolat alapú&lt;br /&gt;
* DataSet: Adatbázis a memóriában&lt;br /&gt;
** Felölthető, módosítható lokálisan, majd visszatölthető&lt;br /&gt;
** Kapcsolatokat tud kezelni&lt;br /&gt;
** Kulcsok, kényszerek&lt;br /&gt;
** Lehet típusos&lt;br /&gt;
* DataAdapter: DataSet-et illeszti az adatbázishoz. Feltölt, szinkronizál&lt;br /&gt;
* DataView: Nézet egy tábla fölött. Adatkötés&lt;br /&gt;
* Sor állapotai: Ez alapján vezeti át az Adapter&lt;br /&gt;
** Unchanged&lt;br /&gt;
** Added&lt;br /&gt;
** Deleted&lt;br /&gt;
** Modified&lt;br /&gt;
** Detached: Nem része kollekciónak&lt;br /&gt;
* Működés lépései:&lt;br /&gt;
** Kapcsolat nyitás&lt;br /&gt;
** DataSet feltöltése&lt;br /&gt;
** Kapcsolat zárás&lt;br /&gt;
** Munka&lt;br /&gt;
** Kapcsolat nyitás&lt;br /&gt;
** DataSet visszaírása&lt;br /&gt;
** Kapcsolat zárás&lt;br /&gt;
* Verziókövetés:&lt;br /&gt;
** Original&lt;br /&gt;
** Current&lt;br /&gt;
** Default: State-től függ&lt;br /&gt;
** Proposed: Szerkesztés alatt&lt;br /&gt;
* Optimista ütközéskezelés: Tartalom vagy timestamp alapján vizsgáljuk&lt;br /&gt;
&lt;br /&gt;
==9. Mi az O/R leképzés feladata, mire szolgálnak a shadow információk? Az öröklési hierarchiát miképp lehet leképezni relációs sémára?==&lt;br /&gt;
&lt;br /&gt;
Feladata:&lt;br /&gt;
* Üzleti objektumok leképezése relációs adatmodellre&lt;br /&gt;
* Adattárolás és üzleti folyamatok összkötése&lt;br /&gt;
&lt;br /&gt;
Shadow információk: Szükségesek a perzisztencia implementálásához&lt;br /&gt;
* Kulcsok&lt;br /&gt;
* Időbélyegek&lt;br /&gt;
* Új vagy módosított objektum&lt;br /&gt;
&lt;br /&gt;
Öröklés leképzése:&lt;br /&gt;
* Egy táblába: Diszkriminátor attribútum&lt;br /&gt;
* Minden valós osztály egy-egy táblába: Csak a példányosítható osztályoknak van saját táblájuk, melyek tartalmazzák az osztály összes tulajdonságát&lt;br /&gt;
* Minden osztály egy-egy táblába: Absztrakt osztályoknak is lesz saját táblájuk, az ősök tulajdonságaihoz idegen kulcsok vannak&lt;br /&gt;
* Általános struktúrába: Bárhogy kialakíthatjuk&lt;br /&gt;
&lt;br /&gt;
==10. Ismertesse a LinQ to SQL felépítését, működését! Miképp történik az öröklési hierarchia kezelése? Miképp történik az objektumok egyediségének biztosítása?==&lt;br /&gt;
&lt;br /&gt;
LinQ: nyelvi elem&lt;br /&gt;
* ORM&lt;br /&gt;
* Alkalmazás és SQL szerver között&lt;br /&gt;
* Relációkat is kezel&lt;br /&gt;
** Azonnali/késleltetett betöltés&lt;br /&gt;
* Join&lt;br /&gt;
* Öröklés: Csak 1 táblába&lt;br /&gt;
* Objektumok egyedisége: Karbantart egy identitás táblát, így a többször lekért ugyanaz a sor ugyanarra az objektumra fog mutatni&lt;br /&gt;
&lt;br /&gt;
==11. ASP.Net környezetben miképp történik a böngészőnek küldött válasz előállítása? Mikor futnak le az egyes eseménykezelők? Milyen lehetőségünk van adatkötésre?==&lt;br /&gt;
&lt;br /&gt;
Válasz előállítása: Kliens küld HTTP kérést, majd az oldalon lévő vezérlők ezt feldolgozva előállítják a saját válaszukat, majd ez kerül vissza a klienshez HTTP válasz formájában.&lt;br /&gt;
&lt;br /&gt;
Eseménykezelők: Feldolgozás során a változások és akciók résznél.&lt;br /&gt;
&lt;br /&gt;
Adatkötés:&lt;br /&gt;
* Egyszerű: Deklaratívan vagy DataBind() hívásával&lt;br /&gt;
* Listás: Deklaratívan, kódból vagy DataBind() hívásával&lt;br /&gt;
&lt;br /&gt;
==12. Milyen elemekből építkezik az AJAX, mi az egyes elemek szerepe? Miképp történik az oldalak részleges frissítése? Mire szolgál az Update Panel?==&lt;br /&gt;
&lt;br /&gt;
AJAX:&lt;br /&gt;
* XmlHttpRequest: Aszinkron kérés&lt;br /&gt;
* Javascript: Kliens oldali program, amelyik kezeli az aszinkron kommunikációt&lt;br /&gt;
* DOM: Kliens oldali dokumentum&lt;br /&gt;
* XML: A kommunikációt leíró nyelv&lt;br /&gt;
&lt;br /&gt;
Oldalak részleges frissítése: Csak az oldalnak egy bizonyos része kerül vissza a szervernek. A teljes oldalt legenerálja, de csak a kijelölt régiók tartalma lesz a kliensnek kiküldve&lt;br /&gt;
&lt;br /&gt;
UpdatePanel: Az ebben lévő elemek lesznek részlegesen frissítve&lt;br /&gt;
&lt;br /&gt;
==13. Ismertesse az elosztott adatbázisok előnyeit, hátrányait! Hogyan működnek az elosztott nézetek?==&lt;br /&gt;
&lt;br /&gt;
Elosztott adatbázis: Logikailag egyetlen adatbázis, de több számítógépen van tárolva&lt;br /&gt;
* Előnyei:&lt;br /&gt;
** Skálázható&lt;br /&gt;
** Nagyobb megbíhatóság&lt;br /&gt;
** Helyi irányítás&lt;br /&gt;
** Moduláris növekedés&lt;br /&gt;
** Kisebb kommunikációs költség&lt;br /&gt;
** Gyorsabb válaszidő&lt;br /&gt;
* Hátrányai:&lt;br /&gt;
** Komplexitás&lt;br /&gt;
** Megnövekedett koordinálási feladat&lt;br /&gt;
** Adatintegritás nehezebb&lt;br /&gt;
&lt;br /&gt;
Elosztott nézetek:&lt;br /&gt;
* &#039;&#039;&#039;Vízszintes particionálás&#039;&#039;&#039;&lt;br /&gt;
** Egyes sorok egyik helyen&lt;br /&gt;
** Más sorok másik helyen&lt;br /&gt;
** Tranzakciók abban a fiókban, ahol a számla van&lt;br /&gt;
** Előnyök&lt;br /&gt;
*** hatékonyság: adat közel a felhasználóhoz&lt;br /&gt;
*** helyi optimalizáció&lt;br /&gt;
*** biztonság: csak azok az adatok, amelyek érdekesek egy adott helyen&lt;br /&gt;
*** lekérdezés eredménye egyszerő unió&lt;br /&gt;
** Hátrányok&lt;br /&gt;
*** inkonzisztens elérési idő&lt;br /&gt;
*** hiba esetén nem térhetünk át egy másik csomópontra&lt;br /&gt;
* &#039;&#039;&#039;Függőleges particionálás&#039;&#039;&#039;&lt;br /&gt;
** Oszlopok szerint osztjuk fel a relációt&lt;br /&gt;
** Két részleg: mérnöki, gyártás&lt;br /&gt;
** Előnyök&lt;br /&gt;
*** ugyanaz, mint vizszintesnél&lt;br /&gt;
*** de a lekérdezés eredménye: join&lt;br /&gt;
** Hátrányok&lt;br /&gt;
*** ugyanaz, mint vízszintesnél&lt;br /&gt;
&lt;br /&gt;
==14. Ismertesse az elosztott adatbázisok előnyeit hátrányait! Mire szolgál a replikáció? Hogyan működik?==&lt;br /&gt;
&lt;br /&gt;
Lásd előző feladat&lt;br /&gt;
&lt;br /&gt;
Replikáció: Adatokat elosztja a több adatbázis között&lt;br /&gt;
* Ami változik egyik helyen, azt átvezetjük a többire is.&lt;br /&gt;
&lt;br /&gt;
==15. Ismertesse a két és háromrétegű adattárház építésének folyamatát! Mi a különbség az adatpiac és az adattárház között?==&lt;br /&gt;
&lt;br /&gt;
Architektúrák:&lt;br /&gt;
* Kétrétegű: A felhasználók közvetlenül az adattárházhoz kapcsolódnak, ami az OLTP-ből nyeri az adatokat&lt;br /&gt;
* Háromrétegű: A felhasználók adatpiacokhoz(data mart) férnek hozzá, ahol tematikusan kiválasztott részek és származtatott adatok vannak&lt;br /&gt;
&lt;br /&gt;
Adattárház építésének lépései:&lt;br /&gt;
* Adatok kinyerése: Milyen adatokra van szükség, hogyan érjük el(ha pl. nem relációs)&lt;br /&gt;
* Tisztítása:&lt;br /&gt;
** Hiányzó adat kezelése&lt;br /&gt;
*** Teljes rekord elvetése&lt;br /&gt;
*** A hiányzó adat bekérése.&lt;br /&gt;
*** A hiányzó adat helyettesítése&lt;br /&gt;
**** Konstans értékkel&lt;br /&gt;
**** Átlagértékkel&lt;br /&gt;
**** Csoportra jellemző átlagértékkel&lt;br /&gt;
**** Legvalószínűbb értékkel&lt;br /&gt;
** Zajszűrés:&lt;br /&gt;
*** Numerikus adatok zajszűrése:&lt;br /&gt;
**** Binning: minden k számú elemcsoportot helyettesít az átlagával&lt;br /&gt;
**** Csoportképzés: Több attribútum együttes előfordulását vizsgálják, majd az egymás közelében elhelyezkedő adatokat a csoportot jellemző adatokkal helyettesítjük (csoport súlypontjával)&lt;br /&gt;
**** Regresszió: Ebben az esetben is több attribútum együttes előfordulását vizsgáljuk, az egyes attribútumok közt valamilyen függvénykapcsolatot keresünk (általában lineárisat), majd az egyes értékeket a regressziós függvény értékeivel helyettesítjük.&lt;br /&gt;
*** Szöveges adatok:&lt;br /&gt;
**** Szótár alapú&lt;br /&gt;
**** Klaszterező: Hash fv-vel számokká képezzük le&lt;br /&gt;
* Transzformálása: Az adatok az adattárház egységes sémájára történő leképzés&lt;br /&gt;
** Rekord szintű:&lt;br /&gt;
*** Kiválasztás&lt;br /&gt;
*** Összekapcsolás&lt;br /&gt;
** Mező szintű: Típuskonverzió&lt;br /&gt;
*** Algoritmikus&lt;br /&gt;
*** Lekérdezéssel&lt;br /&gt;
* Betöltése és indexelése: Pillanatkép és histórikus adatok&lt;br /&gt;
&lt;br /&gt;
==16. Ismertesse a multidimenzionális adatmodellt! Mikor nevezünk egy rendszert OLAP rendszernek? Mire szolgál az OLAP kocka?==&lt;br /&gt;
&lt;br /&gt;
Multidimenzionális adatmodell:&lt;br /&gt;
* Alapelemei:&lt;br /&gt;
** Dimenziós adatok: Ezen adatok mentén történik az elemzések végrehajtása&lt;br /&gt;
** Hierarchia szintek: Felbontás&lt;br /&gt;
** Tény adatok: Amit elemzünk&lt;br /&gt;
* Sémák:&lt;br /&gt;
** Csillag: A tény adatokat tartalmazó táblához idegen kulcsokkal csatlakoznak a dimenziós tánlák&lt;br /&gt;
** Hópehely: A tény adatokhoz csak a legalacsonyabb hierarchia szint van csatolva, és ahhoz van a többi, így joinolni kell.&lt;br /&gt;
&lt;br /&gt;
OLAP(Online Analytical Processing) rendszerek:&lt;br /&gt;
* FASMI(Fast Analysis of Shared Multidimensional Information) teszt: &lt;br /&gt;
** Fast: Gyors&lt;br /&gt;
** Analysis: A felhasználó számára szükséges üzleti és statisztikai elemzések elkészítésére alkalmas.&lt;br /&gt;
** Shared: Megosztott&lt;br /&gt;
** Multidimensional&lt;br /&gt;
** Information: Összes adat és származtatott adat elérhető&lt;br /&gt;
&lt;br /&gt;
OLAP kocka:&lt;br /&gt;
* Dimenzió: A kocka élei&lt;br /&gt;
* Hierarhia: Elvégezhető elemzések mélysége&lt;br /&gt;
* Aggregátum: Származtatott mennyiségek&lt;br /&gt;
&lt;br /&gt;
OLAP kocka műveletek:&lt;br /&gt;
* Szeletelés: 1 érték rögzítése, a diemnziószám csökken&lt;br /&gt;
* Részkocka kiválasztása: Értékek megkötése&lt;br /&gt;
* Lefúrás: Hierarhia szint csökkentése&lt;br /&gt;
* Felfelé görgetés: hierarhia szint növelése&lt;br /&gt;
* Forgatás: A megjelenített eredményt elforgatja&lt;br /&gt;
&lt;br /&gt;
==17. Milyen főbb újdonságokat hozott be a WPF?==&lt;br /&gt;
&lt;br /&gt;
WPF újdonságai:&lt;br /&gt;
* Teljeskörű integráció: 2D,3D,...&lt;br /&gt;
* Felbontás független: Nincs pixel&lt;br /&gt;
* Hardveres gyorsítás: D3D-re épülve hardveresen gyorsított, ami nem, az szoftveresen&lt;br /&gt;
* Deklaratív szemlélet: XAML&lt;br /&gt;
* Testreszabhatóság: Nem csak szöveg, hanem bármilyen Control lehet egy gombban pl,template, skin&lt;br /&gt;
* Egyszerű telepítés: Hagyományos, böngészőben&lt;br /&gt;
&lt;br /&gt;
== 18. Mi a dependency property? Hogyan adható meg, hogyan használható?==&lt;br /&gt;
&lt;br /&gt;
Dependency property: Adatkötés&lt;br /&gt;
* Változásról értesítés automatikus&lt;br /&gt;
* Property érték öröklése lefelé&lt;br /&gt;
* Regisztrálni kell&lt;br /&gt;
&lt;br /&gt;
==19. A vezérlők (pl. button) szintjén milyen újdonságokat hozott be a WPF? Mutasson konkrét példát XAML kóddal együtt!==&lt;br /&gt;
&lt;br /&gt;
WPF controllok:&lt;br /&gt;
* Content control: Egyetlen gyerekük lehet&lt;br /&gt;
** Button, RepeatButton, ToggleButton, CheckBox, RadioButton&lt;br /&gt;
** Label, Tooltip, Frame&lt;br /&gt;
** GroupBox, Expander&lt;br /&gt;
* Items Control: Tetszőleges mennyiségű gyerekük lehet&lt;br /&gt;
* Range Control: Előre megadott számérték közötti számértéket jelenítenek meg&lt;br /&gt;
* Text Control: TextBox, RichTextbox, PasswordBox&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
=Egyéb megválaszolt kérdések=&lt;br /&gt;
&lt;br /&gt;
==Ismertesse a különböző join operátorok (nested loop, hash join, sort merge join) működését és tulajdonságait!==&lt;br /&gt;
&lt;br /&gt;
* Nested Loops Join&lt;br /&gt;
** Egymásba ágyazott kettős for ciklus&lt;br /&gt;
** I/O költség&lt;br /&gt;
*** Nyalábolt esetben: O(B(R) * B(S))&lt;br /&gt;
*** Nem nyalábolt esetben: O(T(R) * T(S))&lt;br /&gt;
** Tetszőleges méretű táblákra működik&lt;br /&gt;
*** Nagy méret esetén: a két tábla egy-egy blokkját tartja memóriában&lt;br /&gt;
*** Kis méret: a táblát bent lehet tartani&lt;br /&gt;
* Hash Join&lt;br /&gt;
** Első menetben&lt;br /&gt;
*** Kisebb (R) reláció beolvasása&lt;br /&gt;
*** Vödrös hash építése a memóriában (Kulcs a join operátorban szereplő oszlop)&lt;br /&gt;
** Második menet&lt;br /&gt;
*** A nagyobbik (S) reláció beolvasása&lt;br /&gt;
*** Kapcsolódó rekordok keresése vödrös hashben&lt;br /&gt;
** I/O költség&lt;br /&gt;
*** O(B(R) + T(S))&lt;br /&gt;
* Sort merge Join&lt;br /&gt;
** Mindkét relációt beolvassa a memóriába&lt;br /&gt;
** Rendezi az összekapcsolási kulcs szerint&lt;br /&gt;
** A két rendezett listát összefésüli&lt;br /&gt;
*** Listák közös bejárása&lt;br /&gt;
*** Egyszerű algoritmus&lt;br /&gt;
** Kis méretű relációk esetén&lt;br /&gt;
** Index a rendezés miatt&lt;br /&gt;
** I/O költség&lt;br /&gt;
*** O(B(R) + T(S))&lt;br /&gt;
&lt;br /&gt;
==Mire valók a WPF-es panelek, mutass be hármat!==&lt;br /&gt;
&lt;br /&gt;
* A különböző layoutokat a Panel osztályból származó containerekkel lehet megvalósítani.&lt;br /&gt;
** &#039;&#039;&#039;Canvas&#039;&#039;&#039;&lt;br /&gt;
*** A legegyszerűbb container, abszolút pozicionálást tesz lehetővé.&lt;br /&gt;
*** A pozíciót a Canvas által definiált Canvas.Left, Canvas.Top, Canvas.Right, Canvas.Bottom attached propertykkel lehet megadni. Egyszerre csak kettő használható közülük, egy dimenzió mentén csak egy.&lt;br /&gt;
** &#039;&#039;&#039;StackPanel&#039;&#039;&#039;&lt;br /&gt;
*** Ahogyan a neve is mutatja, a StackPanel egy stackként viselkedik, a belepakolt elemeket függőleges folytonosan helyezi el.&lt;br /&gt;
*** Az elrendezés iránya (függőleges vagy vízszintes) a StackPanel Orientation attached propertyjével adható meg (alapértelmezett : Vertical).&lt;br /&gt;
** &#039;&#039;&#039;Wrappanel&#039;&#039;&#039;&lt;br /&gt;
*** A Wrappanel abban különbözik a StackPaneltől, hogy az elemeket folytonosan balról jobbra illetve eközben fentről lefelé kitöltve helyezi el.&lt;br /&gt;
*** A kitöltés iránya (hogy először fentről lefelé majd utána balról jobbra) helyezze el az elemeket az Orientation propertyvel állítható.&lt;br /&gt;
** &#039;&#039;&#039;DockPanel&#039;&#039;&#039;&lt;br /&gt;
*** A DockPanelben elhelyezett elemeket a konténer egyes oldalaihoz dokkolhatjuk (illetve kitölttethetjük velük a rendelkezésre álló szabad területet).&lt;br /&gt;
*** A dokkolás iránya (Left, Top, Right, Bottom, Stretch) a DockPanel.Dock dependency propertyvel adható meg. &lt;br /&gt;
*** A végső elrendezésben szerepet játszik az elemek felvételének sorrendje is: az első felvett elem a teljes terület felett rendelkezik, a második már csak az első által szabadon hagyottal és így tovább. &lt;br /&gt;
** &#039;&#039;&#039;Grid&#039;&#039;&#039;&lt;br /&gt;
*** Táblázatos megjelenítést tesz lehetővé.&lt;br /&gt;
*** A táblázat sorai a RowDefinitions kollekcióba felvett RowDefinition objektumokkal definiálhatók. &lt;br /&gt;
*** Az oszlopok hasonlóképpen a ColumnDefinitions kollekcióhoz hozzáadott ColumnDefinition objektumokkal. &lt;br /&gt;
*** Egy tartalmazott elem pozíciója (sor, oszlop) a Grid.Row ill. Grid.Column dependency propertykkel definiálható.&lt;br /&gt;
&lt;br /&gt;
==Objektumrelációs leképezés során miképp lehet leképezni az öröklődést (legalább 3 módszert mutasson be)? Térjen ki a többszörös öröklődés problémájára is.==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Hierarchia leképezése egy közös táblába&#039;&#039;&#039;&lt;br /&gt;
** Egyszerű hierarchiák leképezéséhez.&lt;br /&gt;
** Megvalósítás&lt;br /&gt;
*** az objektum minden attribútumát (örököltekkel) felsoroljuk&lt;br /&gt;
*** objektumtípusok (osztályok) tárolása:&lt;br /&gt;
*** minden típushoz egyedi azonosító VAGY &lt;br /&gt;
*** !IsClass1, !IsClass2, &amp;amp;#8230; oszlopok &lt;br /&gt;
*** egyedi példányazonosító tárolása&lt;br /&gt;
*** bővítés kezelése: új attribútumok felvitele&lt;br /&gt;
** Előnyök&lt;br /&gt;
*** egyszerű&lt;br /&gt;
*** könnyű új osztályt vinni a hierarchiába&lt;br /&gt;
*** könnyen követhető, melyik objektum milyen osztályok példánya&lt;br /&gt;
** Hátrányok&lt;br /&gt;
*** helypazarló&lt;br /&gt;
*** egy osztály megváltozása az egész tárolást változtatja&lt;br /&gt;
*** nehezen áttekinthető&lt;br /&gt;
* &#039;&#039;&#039;Minden valós osztály leképezése saját táblába&#039;&#039;&#039;&lt;br /&gt;
** Ritkán változó struktúrák leképezéséhez.&lt;br /&gt;
** Megvalósítás&lt;br /&gt;
*** minden valós osztálynak saját tábla&lt;br /&gt;
*** az osztály minden attribútumának eltárolása&lt;br /&gt;
*** egyedi példányazonosító tárolása&lt;br /&gt;
*** ha változik egy attribútum, csak a hierarchiaszint mentén kell végigvinni&lt;br /&gt;
** Előnyök&lt;br /&gt;
*** átlátható&lt;br /&gt;
*** gyors adatelérés&lt;br /&gt;
*** jól illeszkedik az objektummodellhez&lt;br /&gt;
** Hátrányok&lt;br /&gt;
*** osztály módosítása esetén hierarchiaszintek módosítása&lt;br /&gt;
*** több szerepet is betöltő példányok kezelése nehézkes&lt;br /&gt;
* &#039;&#039;&#039;Minden osztály leképezése saját táblába&#039;&#039;&#039;&lt;br /&gt;
** Absztrakt osztályok is&lt;br /&gt;
** Komplex öröklési hierarchia és gyakran változó struktúrák leképezéséhez.&lt;br /&gt;
** Megvalósítás&lt;br /&gt;
*** a táblák követik az osztályhierarchiát&lt;br /&gt;
*** szülő-gyerek viszony leképezése külső kulcsokkal&lt;br /&gt;
*** egyedi példányazonosító tárolása&lt;br /&gt;
** Előnyök&lt;br /&gt;
*** osztályok struktúrája könnyen módosítható&lt;br /&gt;
** Hátrányok&lt;br /&gt;
*** összetett DB-séma&lt;br /&gt;
*** egy példány adatai több táblában vannak (öröklés miatt)&lt;br /&gt;
*** összetett lekérdezés&lt;br /&gt;
* &#039;&#039;&#039;Osztályok és hierarchiaszintek általános leképezése&#039;&#039;&#039;&lt;br /&gt;
** Komplex alkalmazásokban, kis mennyiségű adat mellett, ahol akár futási időben is minden változhat.&lt;br /&gt;
** Megvalósítás&lt;br /&gt;
*** metaadat-központú&lt;br /&gt;
*** általános séma: tetszőleges hierarchia leírható &amp;amp;#8211; hierarchia &amp;amp;#61664; metaadat, példányok &amp;amp;#61664; attribútumok&lt;br /&gt;
*** class, attribute, attributeType, value, inheritance, stb&amp;amp;#8230; táblák&lt;br /&gt;
** Előnyök&lt;br /&gt;
*** perzisztencia-kezelő rendszerekhez illeszkedik&lt;br /&gt;
*** flexibilis, bármi leírható benne&lt;br /&gt;
** Hátrányok&lt;br /&gt;
*** nehéz összeszedni egy példány adatait&lt;br /&gt;
*** sok adat esetén nem hatékony&lt;br /&gt;
* &#039;&#039;&#039;Többszörös öröklés megvalósítása&#039;&#039;&#039; &lt;br /&gt;
** C++ miatt még mindig szükséges&lt;br /&gt;
** Ugyanazok a technológiák használhatók&lt;br /&gt;
** Az általános megoldásban benne van&lt;br /&gt;
&lt;br /&gt;
==Tekintsük a mellékelt adatmodell LinQ leképzését! Készíts olyan C# nyelvű, LinQ-re épülő függvényt, mely a 10 legdrágább terméket átsorolja egy új kategóriába (a kategória lehet, hogy létezik, de az is lehet, hogy létre kell hozni), a kategória neve, és a DataContext bemenő paramétere a függvénynek!==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
public void function(String name, CustomDataContext sdc){&lt;br /&gt;
				var q1 = (from t in sdc.Termeks&lt;br /&gt;
							 orderby t.NettoAr descending&lt;br /&gt;
							 select t).Take(10);&lt;br /&gt;
				var q2 = from k in sdc.Kategorias&lt;br /&gt;
							where k.Nev == name&lt;br /&gt;
								 select k;&lt;br /&gt;
				Kategoria k2;&lt;br /&gt;
				if (q2.Count() == 0) {&lt;br /&gt;
					 k2 = new Kategoria();&lt;br /&gt;
					 k2.Nev = name;&lt;br /&gt;
				} else {&lt;br /&gt;
					 k2 = q2.First();&lt;br /&gt;
				}&lt;br /&gt;
				foreach (Termek t in q1) {&lt;br /&gt;
					 t.Kategoria = k2;&lt;br /&gt;
				}&lt;br /&gt;
				sdc.SubmitChanges();&lt;br /&gt;
		  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
=Egyéb megválaszolatlan kérdések=&lt;br /&gt;
&lt;br /&gt;
==ADO.NET kapcsolatnélküli modell bemutatása + példa==&lt;br /&gt;
&lt;br /&gt;
==Mi a clustered index MSSQL-ben, mi történik, ha clustered és non clustered index is van egy táblára? Mi az included column?==&lt;br /&gt;
&lt;br /&gt;
==Adott egy osztályhierarchia (Jármű, Gépjármű, Repülő, stb.). Milyen adattáblákba és C# osztályokba képezzük le?==&lt;br /&gt;
&lt;br /&gt;
==A példaadatbázisba fel kell venni egy új oszlopot Vevo. OsszesVasarlas néven. Fel kell tölteni az értékét a !MegrendelésTétel tábla alapján scripttel + írni kell rá egy karbantartó triggert.==&lt;br /&gt;
&lt;br /&gt;
==Tekintsük a mellékelt adatmodellt! Vegyünk fel a vevők táblába egy új oszlopot: OsszMegrendeles, mely jelentése, hogy a vevő mekkora értékben rendelt eddig. Készíts scriptet MS SQL Serverre, mely a kívánt módosításokat elvégzi, valamint készíts triggert/ triggereket, mely az OsszMegrendeles oszlopot karban tartja!==&lt;br /&gt;
&lt;br /&gt;
==Ismertesse az MSSQL szerver a nem módosítható és módosítható replikációját.==&lt;br /&gt;
&lt;br /&gt;
==Tekintsük a mellékelt adatmodellt. Vegyünk fel a vevők táblába egy új oszlopot: Inaktív, amely jelentése, hogy a vevő régen rendelt. Készíts tárolt eljárást Oracle szerveren, mely minden vevőnek beállítja az inaktív státuszát! Azokat tekintjük inaktívnak, akik már 180 napja nem rendeltek semmit.==&lt;br /&gt;
&lt;br /&gt;
==Tekintsük a mellékelt adatmodell LinQ leképezését! Készítsen olyan C# nyelvű LinQ-re épülő függvényt, mely a paraméterül kapott DataContext -et, és a Megrendelés és !SzámlaKiállító objektumokra készít efy új számlát (beleértve a számlatételeket is).==&lt;br /&gt;
&lt;br /&gt;
==ASP.NET alkalmazásokban miképp lehet megvalósítani az optimista konkurencia kezelést? Írjon mintaprogramot, amely az ÁFA táblán megvalósítja, amennyiben szükséges, módosítja a táblát.==&lt;br /&gt;
&lt;br /&gt;
==C# függvényt kellett írni, linq to sql kód==&lt;br /&gt;
&lt;br /&gt;
==C# de ado.netes, kapcsolat Alapú modell==&lt;br /&gt;
&lt;br /&gt;
==Oracle sql lekérdezések és triggerírás==&lt;br /&gt;
&lt;br /&gt;
==Ajax fogalma, milyen technológiát használ és mi a lényege==&lt;br /&gt;
&lt;br /&gt;
==Ismertesse a két és háromrétegű adattárház architektúrát!==&lt;br /&gt;
&lt;br /&gt;
==2 és 3 rétegű adattárház technológia. Miben különbözik az adattárház és az adatpiac?==&lt;br /&gt;
&lt;br /&gt;
==Hasonlítsa össze az Oracle és MSSQL triggerkezelését==&lt;br /&gt;
&lt;br /&gt;
==ASP.NET-ben hogyan történik a böngészőből jövő kérés kezelése(vagy vmi hasonló)? Mikor történik az események feldolgozása?==&lt;br /&gt;
&lt;br /&gt;
==Készítésen tárolt eljárást MSSQL adatbázisra! Paraméterként egy megrendelés azonosítót kap. Adjon 10% kedvezményt azokra a termékekre a megadott megrendelésből, melyekből a vevő már legalább 20-at rendelt(és a státusza számlázva)!==&lt;br /&gt;
&lt;br /&gt;
==Termék tábla eléréséhez kellett objektumkötéses menedzser objektumok létrehozni. Elég csak az Update műveletet megírni.==&lt;br /&gt;
&lt;br /&gt;
==Tekintsük a mellékelt adatmodellt, mely O/R leképezés eredményeképp jött létre. Objektum típusú adatkötési feladatok megoldásához készítsen C# nyelven Manager objektumot a Termék táblában tárolt Termék egyedekhez, a konkurenciakezelést is oldja meg!==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
-- [[MajorPeter|aldaris]] - 2009.06.07. &amp;lt;br/&amp;gt;&lt;br /&gt;
-- [[KantorT|Cantor]] - 2009.06.07. &amp;lt;br/&amp;gt;&lt;br /&gt;
-- [[PallosTamas|Velias]] - 2010.01.02 &amp;lt;br/&amp;gt;&lt;br /&gt;
-- [[SallaiTamas|sashee]] - 2010.01.05. &amp;lt;br/&amp;gt;&lt;br /&gt;
-- [[MolnarMarton|molnarm]] - 2011.01.05.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Infoszak]]&lt;/div&gt;</summary>
		<author><name>Tarnay Kálmán</name></author>
	</entry>
	<entry>
		<id>https://vik.wiki/index.php?title=Adatvez%C3%A9relt_alkalmaz%C3%A1sok_fejleszt%C3%A9se_(AAF)_-_Kidolgozott_feladatok&amp;diff=188016</id>
		<title>Adatvezérelt alkalmazások fejlesztése (AAF) - Kidolgozott feladatok</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=Adatvez%C3%A9relt_alkalmaz%C3%A1sok_fejleszt%C3%A9se_(AAF)_-_Kidolgozott_feladatok&amp;diff=188016"/>
		<updated>2016-01-20T03:37:55Z</updated>

		<summary type="html">&lt;p&gt;Tarnay Kálmán: Nincs beszédfelismerés WPF-ben&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vissza|Adatvezérelt_alkalmazások_fejlesztése}}&lt;br /&gt;
&lt;br /&gt;
A hivatkozott adatmodell megegyezett a gyakorlatokon használttal.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=2011 januári záróvizsga kérdések=&lt;br /&gt;
&lt;br /&gt;
A 2010-esből ami nem kellett, azt áttettem az egyéb kérdésekbe.&lt;br /&gt;
&lt;br /&gt;
==1. Ismertesse a háromrétegű architektúra elemeit, mutassa be az egyes rétegek szerepét! Milyen rétegfüggetlen szolgáltatások találhatók meg egy háromrétegű architektúrára épülő alkalmazásban?==&lt;br /&gt;
&lt;br /&gt;
[[File:aaf_3reteg.png|400px|right]]&lt;br /&gt;
A három réteg:&lt;br /&gt;
* Megjelenítési réteg&lt;br /&gt;
** Tipikusan MVC architektúra&lt;br /&gt;
** Felület független a tranzakcióktól&lt;br /&gt;
** Felhasználói input ellenőrzése&lt;br /&gt;
** Egyszerű transzformációk (név &amp;lt;-&amp;gt; id)&lt;br /&gt;
** Adatok megjelenítése&lt;br /&gt;
** Lokalizáció&lt;br /&gt;
* Üzleti réteg&lt;br /&gt;
** Business Entities&lt;br /&gt;
** Business Components&lt;br /&gt;
*** Összetett komponensek&lt;br /&gt;
*** Alapszolgáltatásokat implementál&lt;br /&gt;
*** Tranzakciók (része lehet)&lt;br /&gt;
** Business Workflow&lt;br /&gt;
*** Összetett üzleti folyamatok&lt;br /&gt;
*** Komponensekből építkezik&lt;br /&gt;
*** Tranzakció határok&lt;br /&gt;
** Service Interfaces (belső rétegek elrejtése)&lt;br /&gt;
* Adatelérési réteg&lt;br /&gt;
** DAL&lt;br /&gt;
*** Adatbázis hozzáférés&lt;br /&gt;
*** Elemi adatszolgáltatások&lt;br /&gt;
** Service Agents&lt;br /&gt;
*** Szolgáltatások elérése&lt;br /&gt;
*** Külső szolgáltatások &amp;quot;adatbázisként&amp;quot; látszanak&lt;br /&gt;
*** Csomagolás&lt;br /&gt;
&lt;br /&gt;
Rétegfüggetlen szolgáltatások:&lt;br /&gt;
* Security&lt;br /&gt;
** Authentication, Authorization, Secure Communication, Auditing, Profile management&lt;br /&gt;
* Operational management&lt;br /&gt;
** Exception management, Monitoring, Biz monitoring, Metadata, Configuration, Service Location&lt;br /&gt;
* Communication&lt;br /&gt;
** Synchronicity, Format, Protocol&lt;br /&gt;
&lt;br /&gt;
==2. Ismertesse a tranzakciók alaptulajdonságait! Mire szolgálnak a tranzakció izolációs szintek, milyen izolációs szinteket támogat az Oracle és az MS SQL Server?==&lt;br /&gt;
&lt;br /&gt;
A tranzakció a feldolgozás &#039;&#039;&#039;logikai egysége&#039;&#039;&#039;, olyan feldolgozási műveletek sorozata, melyek csak együttesen értelmesek. Alaptulajdonságok (ACID):&lt;br /&gt;
* Atomicity (Atomicitás)&lt;br /&gt;
** Vagy az összes művelet hatásos, vagy egyik sem&lt;br /&gt;
* Consistency (Konzisztencia)&lt;br /&gt;
** A rendszert konzisztens állapotból konzisztens állapotba viszi&lt;br /&gt;
** Hiba esetén is képes konzisztens állapotba visszaállni (soft hiba: memória tartalom vész el, hard hiba: háttértároló sérül)&lt;br /&gt;
* Isolation (Izoláció)&lt;br /&gt;
** Tranzakciók hatásai egymástól függetlenek&lt;br /&gt;
** Tranzakciók ütemezése&lt;br /&gt;
*** Mintha egymás után hajtódnának végre&lt;br /&gt;
*** Zárolás&lt;br /&gt;
* Durability (Tartósság)&lt;br /&gt;
** Hatása tartósan megmarad&lt;br /&gt;
** Nemcsak memóriában történik meg a módosítás (hibákra figyelni)&lt;br /&gt;
&lt;br /&gt;
Izolációs szintek: Az izoláció költséges, és legtöbb esetben nincs is rá szükség, ezért az izolációs szinteknek a feladata olyan megoldásokat választani, ami épp annyi megszorítást (overhead-et) visz a rendszerbe, amennyi még a tranzakciók helyes működéséhez feltétlen szükséges (lehetnek olyan problémák - a problémákat lást alább - amiket az adatbázis kezelő helyett az üzleti logika is meg tud oldani, ráadásul hatékonyabban az alap működésből adódóan).&lt;br /&gt;
&lt;br /&gt;
Megfelelő izoláció hiányában előforduló problémák:&lt;br /&gt;
* Elveszett módosítás: 2 tranzakció is módosítja az elemet, ekkor csak a később kommitált hatása marad meg&lt;br /&gt;
* Piszkos olvasás: Nem kommitált tranzakció adatát kiolvassa egy másik tranzakció&lt;br /&gt;
* Nem megismételhető olvasás: Olvasás eredménye függ attól, hogy a tranzakción belül mikor lett kiadva&lt;br /&gt;
* Fantom rekord: Kurzoroknál előfordulhat, hogy olyan elem van benne, ami már törlődött, vagy olyan elem hiányzik, ami azóta jött létre&lt;br /&gt;
&lt;br /&gt;
MSSQL:&lt;br /&gt;
* Uncommitted read: mind a 4 probléma&lt;br /&gt;
* Committed read: Nincs piszkos olvasás (csak kommittált adat olvasható)&lt;br /&gt;
**  Implementációja (MSSQL!):&lt;br /&gt;
*** Select utasítás&lt;br /&gt;
**** Megosztott zárakat használ&lt;br /&gt;
*** Rekord módosul&lt;br /&gt;
**** Más nem olvashatja&lt;br /&gt;
* Repeatable read: nincs piszkos olvasás, nincs nem megismételhető olvasás&lt;br /&gt;
* Serializable: Teljes izoláció -&amp;gt; egyik probléma sem fordulhat elő&lt;br /&gt;
* Snapshot (szabványtól eltérő)&lt;br /&gt;
** az Oracle Committed Read izolációs szint implementációjával kompatibilis&lt;br /&gt;
&lt;br /&gt;
Oracle:&lt;br /&gt;
* Committed read: Nincs piszkos olvasás (csak kommittált adat olvasható)&lt;br /&gt;
** Implementációja (Oracle!):&lt;br /&gt;
*** Select utasítás&lt;br /&gt;
**** Nem helyez el zárakat&lt;br /&gt;
*** Rekord módosul&lt;br /&gt;
**** A commitált kép &#039;&#039;&#039;mindig&#039;&#039;&#039; olvasható&lt;br /&gt;
* Serializable: Teljes izoláció -&amp;gt; egyik probléma sem fordulhat elő&lt;br /&gt;
* Read only (szabványtól eltérő)&lt;br /&gt;
** Serilazibale konzisztenciájú&lt;br /&gt;
** Nem módosíthat&lt;br /&gt;
** Tipikusan jelentésekhez&lt;br /&gt;
&lt;br /&gt;
==3. Ismertesse az adatbázisok szerver oldali programozásának előnyeit, hátrányait! Milyen programozási lehetőségei, sajátosságai vannak az Oracle Servernek?==&lt;br /&gt;
&lt;br /&gt;
Előnyök:&lt;br /&gt;
* Adatbázis felelős a konzisztenciáért&lt;br /&gt;
* Adatbiztonság&lt;br /&gt;
** Adatmódosítás csak definiált interfészen keresztül&lt;br /&gt;
* Zárt futtató környezet&lt;br /&gt;
* Teljesítmény növelés&lt;br /&gt;
** Csökkenő hálózati forgalom&lt;br /&gt;
** Tárolt végrehajtási tervek&lt;br /&gt;
** Cache&lt;br /&gt;
* Termelékenység&lt;br /&gt;
** Többkomponens hívhatja&lt;br /&gt;
** Egyszerűbb karbantartás&lt;br /&gt;
&lt;br /&gt;
Hátrányok:&lt;br /&gt;
* Nem szabványos&lt;br /&gt;
** Platformfüggő nyelvi elemek, megoldások&lt;br /&gt;
* Interpretált&lt;br /&gt;
* Növeli a szerver terhelését&lt;br /&gt;
* Nem, illetve nehezen skálázható&lt;br /&gt;
* Adatrétegbe nem illik bele az üzleti logika&lt;br /&gt;
&lt;br /&gt;
Oracle Server:&lt;br /&gt;
* Pascal jellegű szintax&lt;br /&gt;
* Tárolt eljárások&lt;br /&gt;
** Eltárolja a szerver a végrehajtási tervet, hivatkozott objektumokat és a státuszát&lt;br /&gt;
** Ha érvénytelenné válik(pl valamely tábla struktúrája vagy jogosultsága megváltozik), akkor következő futtatásnál fordítja újra&lt;br /&gt;
** Lehet külső, ekkor egy külső folyamat hajtja végre&lt;br /&gt;
** Lehet függvény, ekkor van visszatérési értéke&lt;br /&gt;
* Triggerek: Eseménykezelés&lt;br /&gt;
** DML(táblához), DDL(sémához), rendszeresemény hatására&lt;br /&gt;
** Instead of triggerrel lehet nézetekben is módosítást értelmezni&lt;br /&gt;
** Lehet sor és utasítás szintű&lt;br /&gt;
** :new és :old az új/eéőző érték&lt;br /&gt;
** Lehet kaszkádosítani&lt;br /&gt;
** Nem lehet rekurzió&lt;br /&gt;
** Triggerek sorrendje megadható&lt;br /&gt;
** DML-nél csatlakozik a tranzakcióhoz&lt;br /&gt;
** DDL-nél és rendszereseménynél új tranzakciót indít&lt;br /&gt;
* Csomagok: Eljárások gyűjteménye&lt;br /&gt;
** Interface&lt;br /&gt;
** Session kezelése&lt;br /&gt;
** Használatkor betöltödik az egész&lt;br /&gt;
* Interpretált&lt;br /&gt;
* Zárt környezet&lt;br /&gt;
&lt;br /&gt;
==4. Ismertesse az adatbázisok szerver oldali programozásának előnyeit, hátrányait! Milyen programozási lehetőségei, sajátosságai vannak az MS SQL Servernek?==&lt;br /&gt;
Lásd előző feladat&lt;br /&gt;
&lt;br /&gt;
MSSQL Server:&lt;br /&gt;
* Tárolt eljárások&lt;br /&gt;
** Optimalizál, fordít&lt;br /&gt;
** Újrafordít (pl új index bevezetésekor)&lt;br /&gt;
** Külső eljárások .NET Assemblyk&lt;br /&gt;
** Tárolt függvények: Nem módosíthatnak adatot&lt;br /&gt;
* Triggerek&lt;br /&gt;
** Inserted, Deleted az új/régi érték&lt;br /&gt;
** Kaszkádosítás&lt;br /&gt;
** Rekurzió&lt;br /&gt;
** Teljes sorrend nem definiálható, csak az első és utolsó&lt;br /&gt;
** Instead of triggerek&lt;br /&gt;
** DDL trigger is a tranzakció része&lt;br /&gt;
&lt;br /&gt;
==5. Mi a lekérdezés optimalizáló feladata? Ismertesse az Oracle Server lekérdezés optimalizációjának sajátosságait!==&lt;br /&gt;
&lt;br /&gt;
Optimalizálás: Kevésbé használja a hardvert ugyanannak a hatásnak az eléréséhez&lt;br /&gt;
* IO:&lt;br /&gt;
** Korai beolvasás&lt;br /&gt;
** Cilinder alapú szervezés (Egymás utáni adatok könnyen kiolvashatóak)&lt;br /&gt;
** RAID&lt;br /&gt;
** Liftezés&lt;br /&gt;
* CPU&lt;br /&gt;
* Memória&lt;br /&gt;
&lt;br /&gt;
Optimalizáló:&lt;br /&gt;
* Fizikai terv elkészítése&lt;br /&gt;
* Táblák bejárása&lt;br /&gt;
* Táblák összekapcsolása&lt;br /&gt;
* Logikai tervet kap&lt;br /&gt;
* Optimalizált tervet ad át a sorfordítónak, ami leképzi, majd a végrehajtó végrehajtja&lt;br /&gt;
&lt;br /&gt;
Logikai optimalizálás:&lt;br /&gt;
* Elemző fa kialakítása&lt;br /&gt;
** Reláció&lt;br /&gt;
** Művelet&lt;br /&gt;
** Adat áramlása (lentről felfelé)&lt;br /&gt;
* Relációs algebrai műveletek&lt;br /&gt;
* Fa átalakítása&lt;br /&gt;
** Kiválasztás lefelé&lt;br /&gt;
** Vetítés felfelé&lt;br /&gt;
** Join használata: Egyik attribútuma tábla&lt;br /&gt;
&lt;br /&gt;
Fizikai tervek optimalizációja: IO-ra&lt;br /&gt;
* Költségbecslés:&lt;br /&gt;
** B(R): Az R reláció által elfoglalt blokkok száma&lt;br /&gt;
** T(R): A reláció sorainak a száma&lt;br /&gt;
** V(R,a): Az R reláció az &#039;a&#039; attribútumainak a variáltsága&lt;br /&gt;
&lt;br /&gt;
Oracle optimalizációja:&lt;br /&gt;
* Módok:&lt;br /&gt;
** Atbocsájtó képesség&lt;br /&gt;
** Első n sor megtalálása&lt;br /&gt;
* Nézetek:&lt;br /&gt;
** Allekérdezésként vagy&lt;br /&gt;
** Külön optimalizálja&lt;br /&gt;
* Statisztikák:&lt;br /&gt;
** Defaultértékek, majd mintavételezés&lt;br /&gt;
** Adatszótárak&lt;br /&gt;
* Táblaelérési módok:&lt;br /&gt;
** Full table scan: Nincs index, sok rekord kell&lt;br /&gt;
** Rowid scan: Index alapján&lt;br /&gt;
** Unique index scan: Elsődleges kulcs alapján&lt;br /&gt;
** Index range scan: Index szerint rendezett eredményhalmaz&lt;br /&gt;
** Full index scan: Kulcs szerint rendezett eredményhalmaz&lt;br /&gt;
** Fast full index scan: Ha csak az index elemei kellenek (nem kell a táblát elérni hozzá)&lt;br /&gt;
** Index join: Összekapcsolt indexek attribútumaihoz&lt;br /&gt;
** Bitmap index scan: Feltétel kiértékeléséhez&lt;br /&gt;
* Indexek:&lt;br /&gt;
** B*&lt;br /&gt;
** Bitmap index&lt;br /&gt;
** Index organized table: Blokkok sorrendje index szerint&lt;br /&gt;
* SQL hint:&lt;br /&gt;
** Preferált index&lt;br /&gt;
** Index használatának tiltása&lt;br /&gt;
** Join típus&lt;br /&gt;
** Join sorrend&lt;br /&gt;
** Táblaelérési mód&lt;br /&gt;
** Párhuzamos végrehajtás&lt;br /&gt;
&lt;br /&gt;
==6. Mi a lekérdezés optimalizáló feladata? Ismertesse az MS SQL Server lekérdezés optimalizációjának sajátosságait!==&lt;br /&gt;
&lt;br /&gt;
Lásd: előző feladat&lt;br /&gt;
&lt;br /&gt;
MSSQL optimalizációja:&lt;br /&gt;
* Statisztikák alapján&lt;br /&gt;
* Triviális terv: Szabály alapú&lt;br /&gt;
* Nem triviális terv: Ha valamelyik fázis után elég kicsire becsüli a költséget, akkor nem megy tovább&lt;br /&gt;
** 0. fázis: Egyszerű átalakítások&lt;br /&gt;
** 1. fázis: Kibúvített átalakítások&lt;br /&gt;
** 2. fázis: Párhuzamos végrehajtások vizsgálata&lt;br /&gt;
* Táblaelérési módok:&lt;br /&gt;
** Table scan&lt;br /&gt;
** Clustered index scan: Nyalábolt adatolvasás, primary key mentén&lt;br /&gt;
** Nonclustered index scan: = operátor kiértékelésére&lt;br /&gt;
** Non/Clustered index seek: &amp;lt;, &amp;gt; operátorok kiértékelésére&lt;br /&gt;
* Indexek:&lt;br /&gt;
** B*&lt;br /&gt;
*** Egyszerű&lt;br /&gt;
*** Összetett&lt;br /&gt;
*** Clustered&lt;br /&gt;
* SQL hint&lt;br /&gt;
* Plan cache: A végrehajtási tervet eltárolja&lt;br /&gt;
* Indexelt nézetek: Eltárolja a nézetek eredményeit&lt;br /&gt;
* Included column: B* fa levelének bővítése oszlopokkal (a tényleges rekordot nem kell kiolvasni)&lt;br /&gt;
* Clustered és nonclustered indexek együttes használata&lt;br /&gt;
&lt;br /&gt;
==7. Mi az adatelérési osztálykönyvtárak szerepe? Ismertesse a kapcsolat alapú ADO.Net adatelérést!==&lt;br /&gt;
&lt;br /&gt;
Adatelérési könyvtár szerepe: Absztrahálja az adatelérést&lt;br /&gt;
&lt;br /&gt;
Kapcsolat alapú ADO.Net:&lt;br /&gt;
* Előnyei&lt;br /&gt;
** Konkurrencia kezelése egyszerűbb&lt;br /&gt;
** Adatok mindig a legfrissebbek&lt;br /&gt;
* Hátrányok&lt;br /&gt;
** Folyamatos kapcsolat&lt;br /&gt;
** Kevésbé skálázható&lt;br /&gt;
* DataReader&lt;br /&gt;
* SqlCommand&lt;br /&gt;
* SqlConnection&lt;br /&gt;
* Működés lépései:&lt;br /&gt;
** Kapcsolat nyitás&lt;br /&gt;
** Munka&lt;br /&gt;
** Kapcsolat zárás&lt;br /&gt;
* Pesszimista ütközéskezelés: Adatbázis zárak&lt;br /&gt;
&lt;br /&gt;
==8. Mi az adatelérési osztálykönyvtárak szerepe? Ismertesse a kapcsolat nélküli ADO.Net adatelérést! Hogyan működik az optimista konkurencia kezelés?==&lt;br /&gt;
&lt;br /&gt;
Lásd előző feladat&lt;br /&gt;
&lt;br /&gt;
Kapcsolat nélküli ADO.Net:&lt;br /&gt;
* Előnyei/Hátrányai: !kapcsolat alapú&lt;br /&gt;
* DataSet: Adatbázis a memóriában&lt;br /&gt;
** Felölthető, módosítható lokálisan, majd visszatölthető&lt;br /&gt;
** Kapcsolatokat tud kezelni&lt;br /&gt;
** Kulcsok, kényszerek&lt;br /&gt;
** Lehet típusos&lt;br /&gt;
* DataAdapter: DataSet-et illeszti az adatbázishoz. Feltölt, szinkronizál&lt;br /&gt;
* DataView: Nézet egy tábla fölött. Adatkötés&lt;br /&gt;
* Sor állapotai: Ez alapján vezeti át az Adapter&lt;br /&gt;
** Unchanged&lt;br /&gt;
** Added&lt;br /&gt;
** Deleted&lt;br /&gt;
** Modified&lt;br /&gt;
** Detached: Nem része kollekciónak&lt;br /&gt;
* Működés lépései:&lt;br /&gt;
** Kapcsolat nyitás&lt;br /&gt;
** DataSet feltöltése&lt;br /&gt;
** Kapcsolat zárás&lt;br /&gt;
** Munka&lt;br /&gt;
** Kapcsolat nyitás&lt;br /&gt;
** DataSet visszaírása&lt;br /&gt;
** Kapcsolat zárás&lt;br /&gt;
* Verziókövetés:&lt;br /&gt;
** Original&lt;br /&gt;
** Current&lt;br /&gt;
** Default: State-től függ&lt;br /&gt;
** Proposed: Szerkesztés alatt&lt;br /&gt;
* Optimista ütközéskezelés: Tartalom vagy timestamp alapján vizsgáljuk&lt;br /&gt;
&lt;br /&gt;
==9. Mi az O/R leképzés feladata, mire szolgálnak a shadow információk? Az öröklési hierarchiát miképp lehet leképezni relációs sémára?==&lt;br /&gt;
&lt;br /&gt;
Feladata:&lt;br /&gt;
* Üzleti objektumok leképezése relációs adatmodellre&lt;br /&gt;
* Adattárolás és üzleti folyamatok összkötése&lt;br /&gt;
&lt;br /&gt;
Shadow információk: Szükségesek a perzisztencia implementálásához&lt;br /&gt;
* Kulcsok&lt;br /&gt;
* Időbélyegek&lt;br /&gt;
* Új vagy módosított objektum&lt;br /&gt;
&lt;br /&gt;
Öröklés leképzése:&lt;br /&gt;
* Egy táblába: Diszkriminátor attribútum&lt;br /&gt;
* Minden valós osztály egy-egy táblába: Csak a példányosítható osztályoknak van saját táblájuk, melyek tartalmazzák az osztály összes tulajdonságát&lt;br /&gt;
* Minden osztály egy-egy táblába: Absztrakt osztályoknak is lesz saját táblájuk, az ősök tulajdonságaihoz idegen kulcsok vannak&lt;br /&gt;
* Általános struktúrába: Bárhogy kialakíthatjuk&lt;br /&gt;
&lt;br /&gt;
==10. Ismertesse a LinQ to SQL felépítését, működését! Miképp történik az öröklési hierarchia kezelése? Miképp történik az objektumok egyediségének biztosítása?==&lt;br /&gt;
&lt;br /&gt;
LinQ: nyelvi elem&lt;br /&gt;
* ORM&lt;br /&gt;
* Alkalmazás és SQL szerver között&lt;br /&gt;
* Relációkat is kezel&lt;br /&gt;
** Azonnali/késleltetett betöltés&lt;br /&gt;
* Join&lt;br /&gt;
* Öröklés: Csak 1 táblába&lt;br /&gt;
* Objektumok egyedisége: Karbantart egy identitás táblát, így a többször lekért ugyanaz a sor ugyanarra az objektumra fog mutatni&lt;br /&gt;
&lt;br /&gt;
==11. ASP.Net környezetben miképp történik a böngészőnek küldött válasz előállítása? Mikor futnak le az egyes eseménykezelők? Milyen lehetőségünk van adatkötésre?==&lt;br /&gt;
&lt;br /&gt;
Válasz előállítása: Kliens küld HTTP kérést, majd az oldalon lévő vezérlők ezt feldolgozva előállítják a saját válaszukat, majd ez kerül vissza a klienshez HTTP válasz formájában.&lt;br /&gt;
&lt;br /&gt;
Eseménykezelők: Feldolgozás során a változások és akciók résznél.&lt;br /&gt;
&lt;br /&gt;
Adatkötés:&lt;br /&gt;
* Egyszerű: Deklaratívan vagy DataBind() hívásával&lt;br /&gt;
* Listás: Deklaratívan, kódból vagy DataBind() hívásával&lt;br /&gt;
&lt;br /&gt;
==12. Milyen elemekből építkezik az AJAX, mi az egyes elemek szerepe? Miképp történik az oldalak részleges frissítése? Mire szolgál az Update Panel?==&lt;br /&gt;
&lt;br /&gt;
AJAX:&lt;br /&gt;
* XmlHttpRequest: Aszinkron kérés&lt;br /&gt;
* Javascript: Kliens oldali program, amelyik kezeli az aszinkron kommunikációt&lt;br /&gt;
* DOM: Kliens oldali dokumentum&lt;br /&gt;
* XML: A kommunikációt leíró nyelv&lt;br /&gt;
&lt;br /&gt;
Oldalak részleges frissítése: Csak az oldalnak egy bizonyos része kerül vissza a szervernek. A teljes oldalt legenerálja, de csak a kijelölt régiók tartalma lesz a kliensnek kiküldve&lt;br /&gt;
&lt;br /&gt;
UpdatePanel: Az ebben lévő elemek lesznek részlegesen frissítve&lt;br /&gt;
&lt;br /&gt;
==13. Ismertesse az elosztott adatbázisok előnyeit, hátrányait! Hogyan működnek az elosztott nézetek?==&lt;br /&gt;
&lt;br /&gt;
Elosztott adatbázis: Logikailag egyetlen adatbázis, de több számítógépen van tárolva&lt;br /&gt;
* Előnyei:&lt;br /&gt;
** Skálázható&lt;br /&gt;
** Nagyobb megbíhatóság&lt;br /&gt;
** Helyi irányítás&lt;br /&gt;
** Moduláris növekedés&lt;br /&gt;
** Kisebb kommunikációs költség&lt;br /&gt;
** Gyorsabb válaszidő&lt;br /&gt;
* Hátrányai:&lt;br /&gt;
** Komplexitás&lt;br /&gt;
** Megnövekedett koordinálási feladat&lt;br /&gt;
** Adatintegritás nehezebb&lt;br /&gt;
&lt;br /&gt;
Elosztott nézetek:&lt;br /&gt;
* &#039;&#039;&#039;Vízszintes particionálás&#039;&#039;&#039;&lt;br /&gt;
** Egyes sorok egyik helyen&lt;br /&gt;
** Más sorok másik helyen&lt;br /&gt;
** Tranzakciók abban a fiókban, ahol a számla van&lt;br /&gt;
** Előnyök&lt;br /&gt;
*** hatékonyság: adat közel a felhasználóhoz&lt;br /&gt;
*** helyi optimalizáció&lt;br /&gt;
*** biztonság: csak azok az adatok, amelyek érdekesek egy adott helyen&lt;br /&gt;
*** lekérdezés eredménye egyszerő unió&lt;br /&gt;
** Hátrányok&lt;br /&gt;
*** inkonzisztens elérési idő&lt;br /&gt;
*** hiba esetén nem térhetünk át egy másik csomópontra&lt;br /&gt;
* &#039;&#039;&#039;Függőleges particionálás&#039;&#039;&#039;&lt;br /&gt;
** Oszlopok szerint osztjuk fel a relációt&lt;br /&gt;
** Két részleg: mérnöki, gyártás&lt;br /&gt;
** Előnyök&lt;br /&gt;
*** ugyanaz, mint vizszintesnél&lt;br /&gt;
*** de a lekérdezés eredménye: join&lt;br /&gt;
** Hátrányok&lt;br /&gt;
*** ugyanaz, mint vízszintesnél&lt;br /&gt;
&lt;br /&gt;
==14. Ismertesse az elosztott adatbázisok előnyeit hátrányait! Mire szolgál a replikáció? Hogyan működik?==&lt;br /&gt;
&lt;br /&gt;
Lásd előző feladat&lt;br /&gt;
&lt;br /&gt;
Replikáció: Adatokat elosztja a több adatbázis között&lt;br /&gt;
* Ami változik egyik helyen, azt átvezetjük a többire is.&lt;br /&gt;
&lt;br /&gt;
==15. Ismertesse a két és háromrétegű adattárház építésének folyamatát! Mi a különbség az adatpiac és az adattárház között?==&lt;br /&gt;
&lt;br /&gt;
Architektúrák:&lt;br /&gt;
* Kétrétegű: A felhasználók közvetlenül az adattárházhoz kapcsolódnak, ami az OLTP-ből nyeri az adatokat&lt;br /&gt;
* Háromrétegű: A felhasználók adatpiacokhoz(data mart) férnek hozzá, ahol tematikusan kiválasztott részek és származtatott adatok vannak&lt;br /&gt;
&lt;br /&gt;
Adattárház építésének lépései:&lt;br /&gt;
* Adatok kinyerése: Milyen adatokra van szükség, hogyan érjük el(ha pl. nem relációs)&lt;br /&gt;
* Tisztítása:&lt;br /&gt;
** Hiányzó adat kezelése&lt;br /&gt;
*** Teljes rekord elvetése&lt;br /&gt;
*** A hiányzó adat bekérése.&lt;br /&gt;
*** A hiányzó adat helyettesítése&lt;br /&gt;
**** Konstans értékkel&lt;br /&gt;
**** Átlagértékkel&lt;br /&gt;
**** Csoportra jellemző átlagértékkel&lt;br /&gt;
**** Legvalószínűbb értékkel&lt;br /&gt;
** Zajszűrés:&lt;br /&gt;
*** Numerikus adatok zajszűrése:&lt;br /&gt;
**** Binning: minden k számú elemcsoportot helyettesít az átlagával&lt;br /&gt;
**** Csoportképzés: Több attribútum együttes előfordulását vizsgálják, majd az egymás közelében elhelyezkedő adatokat a csoportot jellemző adatokkal helyettesítjük (csoport súlypontjával)&lt;br /&gt;
**** Regresszió: Ebben az esetben is több attribútum együttes előfordulását vizsgáljuk, az egyes attribútumok közt valamilyen függvénykapcsolatot keresünk (általában lineárisat), majd az egyes értékeket a regressziós függvény értékeivel helyettesítjük.&lt;br /&gt;
*** Szöveges adatok:&lt;br /&gt;
**** Szótár alapú&lt;br /&gt;
**** Klaszterező: Hash fv-vel számokká képezzük le&lt;br /&gt;
* Transzformálása: Az adatok az adattárház egységes sémájára történő leképzés&lt;br /&gt;
** Rekord szintű:&lt;br /&gt;
*** Kiválasztás&lt;br /&gt;
*** Összekapcsolás&lt;br /&gt;
** Mező szintű: Típuskonverzió&lt;br /&gt;
*** Algoritmikus&lt;br /&gt;
*** Lekérdezéssel&lt;br /&gt;
* Betöltése és indexelése: Pillanatkép és histórikus adatok&lt;br /&gt;
&lt;br /&gt;
==16. Ismertesse a multidimenzionális adatmodellt! Mikor nevezünk egy rendszert OLAP rendszernek? Mire szolgál az OLAP kocka?==&lt;br /&gt;
&lt;br /&gt;
Multidimenzionális adatmodell:&lt;br /&gt;
* Alapelemei:&lt;br /&gt;
** Dimenziós adatok: Ezen adatok mentén történik az elemzések végrehajtása&lt;br /&gt;
** Hierarchia szintek: Felbontás&lt;br /&gt;
** Tény adatok: Amit elemzünk&lt;br /&gt;
* Sémák:&lt;br /&gt;
** Csillag: A tény adatokat tartalmazó táblához idegen kulcsokkal csatlakoznak a dimenziós tánlák&lt;br /&gt;
** Hópehely: A tény adatokhoz csak a legalacsonyabb hierarchia szint van csatolva, és ahhoz van a többi, így joinolni kell.&lt;br /&gt;
&lt;br /&gt;
OLAP(Online Analytical Processing) rendszerek:&lt;br /&gt;
* FASMI(Fast Analysis of Shared Multidimensional Information) teszt: &lt;br /&gt;
** Fast: Gyors&lt;br /&gt;
** Analysis: A felhasználó számára szükséges üzleti és statisztikai elemzések elkészítésére alkalmas.&lt;br /&gt;
** Shared: Megosztott&lt;br /&gt;
** Multidimensional&lt;br /&gt;
** Information: Összes adat és származtatott adat elérhető&lt;br /&gt;
&lt;br /&gt;
OLAP kocka:&lt;br /&gt;
* Dimenzió: A kocka élei&lt;br /&gt;
* Hierarhia: Elvégezhető elemzések mélysége&lt;br /&gt;
* Aggregátum: Származtatott mennyiségek&lt;br /&gt;
&lt;br /&gt;
OLAP kocka műveletek:&lt;br /&gt;
* Szeletelés: 1 érték rögzítése, a diemnziószám csökken&lt;br /&gt;
* Részkocka kiválasztása: Értékek megkötése&lt;br /&gt;
* Lefúrás: Hierarhia szint csökkentése&lt;br /&gt;
* Felfelé görgetés: hierarhia szint növelése&lt;br /&gt;
* Forgatás: A megjelenített eredményt elforgatja&lt;br /&gt;
&lt;br /&gt;
==17. Milyen főbb újdonságokat hozott be a WPF?==&lt;br /&gt;
&lt;br /&gt;
WPF újdonságai:&lt;br /&gt;
* Teljeskörű integráció: 2D,3D,...&lt;br /&gt;
* Felbontás független: Nincs pixel&lt;br /&gt;
* Hardveres gyorsítás: D3D-re épülve harveresen gyorsított, ami nem, az szoftveresen&lt;br /&gt;
* Deklaratív szemlélet: XAML&lt;br /&gt;
* Testreszabhatóság: Nem csak szöveg, hanem bármilyen Control lehet egy gombban pl,template, skin&lt;br /&gt;
* Egyszerű telepítés: Hagyományos, böngészőben&lt;br /&gt;
&lt;br /&gt;
== 18. Mi a dependency property? Hogyan adható meg, hogyan használható?==&lt;br /&gt;
&lt;br /&gt;
Dependency property: Adatkötés&lt;br /&gt;
* Változásról értesítés automatikus&lt;br /&gt;
* Property érték öröklése lefelé&lt;br /&gt;
* Regisztrálni kell&lt;br /&gt;
&lt;br /&gt;
==19. A vezérlők (pl. button) szintjén milyen újdonságokat hozott be a WPF? Mutasson konkrét példát XAML kóddal együtt!==&lt;br /&gt;
&lt;br /&gt;
WPF controllok:&lt;br /&gt;
* Content control: Egyetlen gyerekük lehet&lt;br /&gt;
** Button, RepeatButton, ToggleButton, CheckBox, RadioButton&lt;br /&gt;
** Label, Tooltip, Frame&lt;br /&gt;
** GroupBox, Expander&lt;br /&gt;
* Items Control: Tetszőleges mennyiségű gyerekük lehet&lt;br /&gt;
* Range Control: Előre megadott számérték közötti számértéket jelenítenek meg&lt;br /&gt;
* Text Control: TextBox, RichTextbox, PasswordBox&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
=Egyéb megválaszolt kérdések=&lt;br /&gt;
&lt;br /&gt;
==Ismertesse a különböző join operátorok (nested loop, hash join, sort merge join) működését és tulajdonságait!==&lt;br /&gt;
&lt;br /&gt;
* Nested Loops Join&lt;br /&gt;
** Egymásba ágyazott kettős for ciklus&lt;br /&gt;
** I/O költség&lt;br /&gt;
*** Nyalábolt esetben: O(B(R) * B(S))&lt;br /&gt;
*** Nem nyalábolt esetben: O(T(R) * T(S))&lt;br /&gt;
** Tetszőleges méretű táblákra működik&lt;br /&gt;
*** Nagy méret esetén: a két tábla egy-egy blokkját tartja memóriában&lt;br /&gt;
*** Kis méret: a táblát bent lehet tartani&lt;br /&gt;
* Hash Join&lt;br /&gt;
** Első menetben&lt;br /&gt;
*** Kisebb (R) reláció beolvasása&lt;br /&gt;
*** Vödrös hash építése a memóriában (Kulcs a join operátorban szereplő oszlop)&lt;br /&gt;
** Második menet&lt;br /&gt;
*** A nagyobbik (S) reláció beolvasása&lt;br /&gt;
*** Kapcsolódó rekordok keresése vödrös hashben&lt;br /&gt;
** I/O költség&lt;br /&gt;
*** O(B(R) + T(S))&lt;br /&gt;
* Sort merge Join&lt;br /&gt;
** Mindkét relációt beolvassa a memóriába&lt;br /&gt;
** Rendezi az összekapcsolási kulcs szerint&lt;br /&gt;
** A két rendezett listát összefésüli&lt;br /&gt;
*** Listák közös bejárása&lt;br /&gt;
*** Egyszerű algoritmus&lt;br /&gt;
** Kis méretű relációk esetén&lt;br /&gt;
** Index a rendezés miatt&lt;br /&gt;
** I/O költség&lt;br /&gt;
*** O(B(R) + T(S))&lt;br /&gt;
&lt;br /&gt;
==Mire valók a WPF-es panelek, mutass be hármat!==&lt;br /&gt;
&lt;br /&gt;
* A különböző layoutokat a Panel osztályból származó containerekkel lehet megvalósítani.&lt;br /&gt;
** &#039;&#039;&#039;Canvas&#039;&#039;&#039;&lt;br /&gt;
*** A legegyszerűbb container, abszolút pozicionálást tesz lehetővé.&lt;br /&gt;
*** A pozíciót a Canvas által definiált Canvas.Left, Canvas.Top, Canvas.Right, Canvas.Bottom attached propertykkel lehet megadni. Egyszerre csak kettő használható közülük, egy dimenzió mentén csak egy.&lt;br /&gt;
** &#039;&#039;&#039;StackPanel&#039;&#039;&#039;&lt;br /&gt;
*** Ahogyan a neve is mutatja, a StackPanel egy stackként viselkedik, a belepakolt elemeket függőleges folytonosan helyezi el.&lt;br /&gt;
*** Az elrendezés iránya (függőleges vagy vízszintes) a StackPanel Orientation attached propertyjével adható meg (alapértelmezett : Vertical).&lt;br /&gt;
** &#039;&#039;&#039;Wrappanel&#039;&#039;&#039;&lt;br /&gt;
*** A Wrappanel abban különbözik a StackPaneltől, hogy az elemeket folytonosan balról jobbra illetve eközben fentről lefelé kitöltve helyezi el.&lt;br /&gt;
*** A kitöltés iránya (hogy először fentről lefelé majd utána balról jobbra) helyezze el az elemeket az Orientation propertyvel állítható.&lt;br /&gt;
** &#039;&#039;&#039;DockPanel&#039;&#039;&#039;&lt;br /&gt;
*** A DockPanelben elhelyezett elemeket a konténer egyes oldalaihoz dokkolhatjuk (illetve kitölttethetjük velük a rendelkezésre álló szabad területet).&lt;br /&gt;
*** A dokkolás iránya (Left, Top, Right, Bottom, Stretch) a DockPanel.Dock dependency propertyvel adható meg. &lt;br /&gt;
*** A végső elrendezésben szerepet játszik az elemek felvételének sorrendje is: az első felvett elem a teljes terület felett rendelkezik, a második már csak az első által szabadon hagyottal és így tovább. &lt;br /&gt;
** &#039;&#039;&#039;Grid&#039;&#039;&#039;&lt;br /&gt;
*** Táblázatos megjelenítést tesz lehetővé.&lt;br /&gt;
*** A táblázat sorai a RowDefinitions kollekcióba felvett RowDefinition objektumokkal definiálhatók. &lt;br /&gt;
*** Az oszlopok hasonlóképpen a ColumnDefinitions kollekcióhoz hozzáadott ColumnDefinition objektumokkal. &lt;br /&gt;
*** Egy tartalmazott elem pozíciója (sor, oszlop) a Grid.Row ill. Grid.Column dependency propertykkel definiálható.&lt;br /&gt;
&lt;br /&gt;
==Objektumrelációs leképezés során miképp lehet leképezni az öröklődést (legalább 3 módszert mutasson be)? Térjen ki a többszörös öröklődés problémájára is.==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Hierarchia leképezése egy közös táblába&#039;&#039;&#039;&lt;br /&gt;
** Egyszerű hierarchiák leképezéséhez.&lt;br /&gt;
** Megvalósítás&lt;br /&gt;
*** az objektum minden attribútumát (örököltekkel) felsoroljuk&lt;br /&gt;
*** objektumtípusok (osztályok) tárolása:&lt;br /&gt;
*** minden típushoz egyedi azonosító VAGY &lt;br /&gt;
*** !IsClass1, !IsClass2, &amp;amp;#8230; oszlopok &lt;br /&gt;
*** egyedi példányazonosító tárolása&lt;br /&gt;
*** bővítés kezelése: új attribútumok felvitele&lt;br /&gt;
** Előnyök&lt;br /&gt;
*** egyszerű&lt;br /&gt;
*** könnyű új osztályt vinni a hierarchiába&lt;br /&gt;
*** könnyen követhető, melyik objektum milyen osztályok példánya&lt;br /&gt;
** Hátrányok&lt;br /&gt;
*** helypazarló&lt;br /&gt;
*** egy osztály megváltozása az egész tárolást változtatja&lt;br /&gt;
*** nehezen áttekinthető&lt;br /&gt;
* &#039;&#039;&#039;Minden valós osztály leképezése saját táblába&#039;&#039;&#039;&lt;br /&gt;
** Ritkán változó struktúrák leképezéséhez.&lt;br /&gt;
** Megvalósítás&lt;br /&gt;
*** minden valós osztálynak saját tábla&lt;br /&gt;
*** az osztály minden attribútumának eltárolása&lt;br /&gt;
*** egyedi példányazonosító tárolása&lt;br /&gt;
*** ha változik egy attribútum, csak a hierarchiaszint mentén kell végigvinni&lt;br /&gt;
** Előnyök&lt;br /&gt;
*** átlátható&lt;br /&gt;
*** gyors adatelérés&lt;br /&gt;
*** jól illeszkedik az objektummodellhez&lt;br /&gt;
** Hátrányok&lt;br /&gt;
*** osztály módosítása esetén hierarchiaszintek módosítása&lt;br /&gt;
*** több szerepet is betöltő példányok kezelése nehézkes&lt;br /&gt;
* &#039;&#039;&#039;Minden osztály leképezése saját táblába&#039;&#039;&#039;&lt;br /&gt;
** Absztrakt osztályok is&lt;br /&gt;
** Komplex öröklési hierarchia és gyakran változó struktúrák leképezéséhez.&lt;br /&gt;
** Megvalósítás&lt;br /&gt;
*** a táblák követik az osztályhierarchiát&lt;br /&gt;
*** szülő-gyerek viszony leképezése külső kulcsokkal&lt;br /&gt;
*** egyedi példányazonosító tárolása&lt;br /&gt;
** Előnyök&lt;br /&gt;
*** osztályok struktúrája könnyen módosítható&lt;br /&gt;
** Hátrányok&lt;br /&gt;
*** összetett DB-séma&lt;br /&gt;
*** egy példány adatai több táblában vannak (öröklés miatt)&lt;br /&gt;
*** összetett lekérdezés&lt;br /&gt;
* &#039;&#039;&#039;Osztályok és hierarchiaszintek általános leképezése&#039;&#039;&#039;&lt;br /&gt;
** Komplex alkalmazásokban, kis mennyiségű adat mellett, ahol akár futási időben is minden változhat.&lt;br /&gt;
** Megvalósítás&lt;br /&gt;
*** metaadat-központú&lt;br /&gt;
*** általános séma: tetszőleges hierarchia leírható &amp;amp;#8211; hierarchia &amp;amp;#61664; metaadat, példányok &amp;amp;#61664; attribútumok&lt;br /&gt;
*** class, attribute, attributeType, value, inheritance, stb&amp;amp;#8230; táblák&lt;br /&gt;
** Előnyök&lt;br /&gt;
*** perzisztencia-kezelő rendszerekhez illeszkedik&lt;br /&gt;
*** flexibilis, bármi leírható benne&lt;br /&gt;
** Hátrányok&lt;br /&gt;
*** nehéz összeszedni egy példány adatait&lt;br /&gt;
*** sok adat esetén nem hatékony&lt;br /&gt;
* &#039;&#039;&#039;Többszörös öröklés megvalósítása&#039;&#039;&#039; &lt;br /&gt;
** C++ miatt még mindig szükséges&lt;br /&gt;
** Ugyanazok a technológiák használhatók&lt;br /&gt;
** Az általános megoldásban benne van&lt;br /&gt;
&lt;br /&gt;
==Tekintsük a mellékelt adatmodell LinQ leképzését! Készíts olyan C# nyelvű, LinQ-re épülő függvényt, mely a 10 legdrágább terméket átsorolja egy új kategóriába (a kategória lehet, hogy létezik, de az is lehet, hogy létre kell hozni), a kategória neve, és a DataContext bemenő paramétere a függvénynek!==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
public void function(String name, CustomDataContext sdc){&lt;br /&gt;
				var q1 = (from t in sdc.Termeks&lt;br /&gt;
							 orderby t.NettoAr descending&lt;br /&gt;
							 select t).Take(10);&lt;br /&gt;
				var q2 = from k in sdc.Kategorias&lt;br /&gt;
							where k.Nev == name&lt;br /&gt;
								 select k;&lt;br /&gt;
				Kategoria k2;&lt;br /&gt;
				if (q2.Count() == 0) {&lt;br /&gt;
					 k2 = new Kategoria();&lt;br /&gt;
					 k2.Nev = name;&lt;br /&gt;
				} else {&lt;br /&gt;
					 k2 = q2.First();&lt;br /&gt;
				}&lt;br /&gt;
				foreach (Termek t in q1) {&lt;br /&gt;
					 t.Kategoria = k2;&lt;br /&gt;
				}&lt;br /&gt;
				sdc.SubmitChanges();&lt;br /&gt;
		  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
=Egyéb megválaszolatlan kérdések=&lt;br /&gt;
&lt;br /&gt;
==ADO.NET kapcsolatnélküli modell bemutatása + példa==&lt;br /&gt;
&lt;br /&gt;
==Mi a clustered index MSSQL-ben, mi történik, ha clustered és non clustered index is van egy táblára? Mi az included column?==&lt;br /&gt;
&lt;br /&gt;
==Adott egy osztályhierarchia (Jármű, Gépjármű, Repülő, stb.). Milyen adattáblákba és C# osztályokba képezzük le?==&lt;br /&gt;
&lt;br /&gt;
==A példaadatbázisba fel kell venni egy új oszlopot Vevo. OsszesVasarlas néven. Fel kell tölteni az értékét a !MegrendelésTétel tábla alapján scripttel + írni kell rá egy karbantartó triggert.==&lt;br /&gt;
&lt;br /&gt;
==Tekintsük a mellékelt adatmodellt! Vegyünk fel a vevők táblába egy új oszlopot: OsszMegrendeles, mely jelentése, hogy a vevő mekkora értékben rendelt eddig. Készíts scriptet MS SQL Serverre, mely a kívánt módosításokat elvégzi, valamint készíts triggert/ triggereket, mely az OsszMegrendeles oszlopot karban tartja!==&lt;br /&gt;
&lt;br /&gt;
==Ismertesse az MSSQL szerver a nem módosítható és módosítható replikációját.==&lt;br /&gt;
&lt;br /&gt;
==Tekintsük a mellékelt adatmodellt. Vegyünk fel a vevők táblába egy új oszlopot: Inaktív, amely jelentése, hogy a vevő régen rendelt. Készíts tárolt eljárást Oracle szerveren, mely minden vevőnek beállítja az inaktív státuszát! Azokat tekintjük inaktívnak, akik már 180 napja nem rendeltek semmit.==&lt;br /&gt;
&lt;br /&gt;
==Tekintsük a mellékelt adatmodell LinQ leképezését! Készítsen olyan C# nyelvű LinQ-re épülő függvényt, mely a paraméterül kapott DataContext -et, és a Megrendelés és !SzámlaKiállító objektumokra készít efy új számlát (beleértve a számlatételeket is).==&lt;br /&gt;
&lt;br /&gt;
==ASP.NET alkalmazásokban miképp lehet megvalósítani az optimista konkurencia kezelést? Írjon mintaprogramot, amely az ÁFA táblán megvalósítja, amennyiben szükséges, módosítja a táblát.==&lt;br /&gt;
&lt;br /&gt;
==C# függvényt kellett írni, linq to sql kód==&lt;br /&gt;
&lt;br /&gt;
==C# de ado.netes, kapcsolat Alapú modell==&lt;br /&gt;
&lt;br /&gt;
==Oracle sql lekérdezések és triggerírás==&lt;br /&gt;
&lt;br /&gt;
==Ajax fogalma, milyen technológiát használ és mi a lényege==&lt;br /&gt;
&lt;br /&gt;
==Ismertesse a két és háromrétegű adattárház architektúrát!==&lt;br /&gt;
&lt;br /&gt;
==2 és 3 rétegű adattárház technológia. Miben különbözik az adattárház és az adatpiac?==&lt;br /&gt;
&lt;br /&gt;
==Hasonlítsa össze az Oracle és MSSQL triggerkezelését==&lt;br /&gt;
&lt;br /&gt;
==ASP.NET-ben hogyan történik a böngészőből jövő kérés kezelése(vagy vmi hasonló)? Mikor történik az események feldolgozása?==&lt;br /&gt;
&lt;br /&gt;
==Készítésen tárolt eljárást MSSQL adatbázisra! Paraméterként egy megrendelés azonosítót kap. Adjon 10% kedvezményt azokra a termékekre a megadott megrendelésből, melyekből a vevő már legalább 20-at rendelt(és a státusza számlázva)!==&lt;br /&gt;
&lt;br /&gt;
==Termék tábla eléréséhez kellett objektumkötéses menedzser objektumok létrehozni. Elég csak az Update műveletet megírni.==&lt;br /&gt;
&lt;br /&gt;
==Tekintsük a mellékelt adatmodellt, mely O/R leképezés eredményeképp jött létre. Objektum típusú adatkötési feladatok megoldásához készítsen C# nyelven Manager objektumot a Termék táblában tárolt Termék egyedekhez, a konkurenciakezelést is oldja meg!==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
-- [[MajorPeter|aldaris]] - 2009.06.07. &amp;lt;br/&amp;gt;&lt;br /&gt;
-- [[KantorT|Cantor]] - 2009.06.07. &amp;lt;br/&amp;gt;&lt;br /&gt;
-- [[PallosTamas|Velias]] - 2010.01.02 &amp;lt;br/&amp;gt;&lt;br /&gt;
-- [[SallaiTamas|sashee]] - 2010.01.05. &amp;lt;br/&amp;gt;&lt;br /&gt;
-- [[MolnarMarton|molnarm]] - 2011.01.05.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Infoszak]]&lt;/div&gt;</summary>
		<author><name>Tarnay Kálmán</name></author>
	</entry>
	<entry>
		<id>https://vik.wiki/index.php?title=Adatvez%C3%A9relt_alkalmaz%C3%A1sok_fejleszt%C3%A9se_(AAF)_-_Kidolgozott_feladatok&amp;diff=188015</id>
		<title>Adatvezérelt alkalmazások fejlesztése (AAF) - Kidolgozott feladatok</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=Adatvez%C3%A9relt_alkalmaz%C3%A1sok_fejleszt%C3%A9se_(AAF)_-_Kidolgozott_feladatok&amp;diff=188015"/>
		<updated>2016-01-20T03:35:05Z</updated>

		<summary type="html">&lt;p&gt;Tarnay Kálmán: Ha minden adatmódosításnál újrafordítanánk, az nem lenne jó...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vissza|Adatvezérelt_alkalmazások_fejlesztése}}&lt;br /&gt;
&lt;br /&gt;
A hivatkozott adatmodell megegyezett a gyakorlatokon használttal.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=2011 januári záróvizsga kérdések=&lt;br /&gt;
&lt;br /&gt;
A 2010-esből ami nem kellett, azt áttettem az egyéb kérdésekbe.&lt;br /&gt;
&lt;br /&gt;
==1. Ismertesse a háromrétegű architektúra elemeit, mutassa be az egyes rétegek szerepét! Milyen rétegfüggetlen szolgáltatások találhatók meg egy háromrétegű architektúrára épülő alkalmazásban?==&lt;br /&gt;
&lt;br /&gt;
[[File:aaf_3reteg.png|400px|right]]&lt;br /&gt;
A három réteg:&lt;br /&gt;
* Megjelenítési réteg&lt;br /&gt;
** Tipikusan MVC architektúra&lt;br /&gt;
** Felület független a tranzakcióktól&lt;br /&gt;
** Felhasználói input ellenőrzése&lt;br /&gt;
** Egyszerű transzformációk (név &amp;lt;-&amp;gt; id)&lt;br /&gt;
** Adatok megjelenítése&lt;br /&gt;
** Lokalizáció&lt;br /&gt;
* Üzleti réteg&lt;br /&gt;
** Business Entities&lt;br /&gt;
** Business Components&lt;br /&gt;
*** Összetett komponensek&lt;br /&gt;
*** Alapszolgáltatásokat implementál&lt;br /&gt;
*** Tranzakciók (része lehet)&lt;br /&gt;
** Business Workflow&lt;br /&gt;
*** Összetett üzleti folyamatok&lt;br /&gt;
*** Komponensekből építkezik&lt;br /&gt;
*** Tranzakció határok&lt;br /&gt;
** Service Interfaces (belső rétegek elrejtése)&lt;br /&gt;
* Adatelérési réteg&lt;br /&gt;
** DAL&lt;br /&gt;
*** Adatbázis hozzáférés&lt;br /&gt;
*** Elemi adatszolgáltatások&lt;br /&gt;
** Service Agents&lt;br /&gt;
*** Szolgáltatások elérése&lt;br /&gt;
*** Külső szolgáltatások &amp;quot;adatbázisként&amp;quot; látszanak&lt;br /&gt;
*** Csomagolás&lt;br /&gt;
&lt;br /&gt;
Rétegfüggetlen szolgáltatások:&lt;br /&gt;
* Security&lt;br /&gt;
** Authentication, Authorization, Secure Communication, Auditing, Profile management&lt;br /&gt;
* Operational management&lt;br /&gt;
** Exception management, Monitoring, Biz monitoring, Metadata, Configuration, Service Location&lt;br /&gt;
* Communication&lt;br /&gt;
** Synchronicity, Format, Protocol&lt;br /&gt;
&lt;br /&gt;
==2. Ismertesse a tranzakciók alaptulajdonságait! Mire szolgálnak a tranzakció izolációs szintek, milyen izolációs szinteket támogat az Oracle és az MS SQL Server?==&lt;br /&gt;
&lt;br /&gt;
A tranzakció a feldolgozás &#039;&#039;&#039;logikai egysége&#039;&#039;&#039;, olyan feldolgozási műveletek sorozata, melyek csak együttesen értelmesek. Alaptulajdonságok (ACID):&lt;br /&gt;
* Atomicity (Atomicitás)&lt;br /&gt;
** Vagy az összes művelet hatásos, vagy egyik sem&lt;br /&gt;
* Consistency (Konzisztencia)&lt;br /&gt;
** A rendszert konzisztens állapotból konzisztens állapotba viszi&lt;br /&gt;
** Hiba esetén is képes konzisztens állapotba visszaállni (soft hiba: memória tartalom vész el, hard hiba: háttértároló sérül)&lt;br /&gt;
* Isolation (Izoláció)&lt;br /&gt;
** Tranzakciók hatásai egymástól függetlenek&lt;br /&gt;
** Tranzakciók ütemezése&lt;br /&gt;
*** Mintha egymás után hajtódnának végre&lt;br /&gt;
*** Zárolás&lt;br /&gt;
* Durability (Tartósság)&lt;br /&gt;
** Hatása tartósan megmarad&lt;br /&gt;
** Nemcsak memóriában történik meg a módosítás (hibákra figyelni)&lt;br /&gt;
&lt;br /&gt;
Izolációs szintek: Az izoláció költséges, és legtöbb esetben nincs is rá szükség, ezért az izolációs szinteknek a feladata olyan megoldásokat választani, ami épp annyi megszorítást (overhead-et) visz a rendszerbe, amennyi még a tranzakciók helyes működéséhez feltétlen szükséges (lehetnek olyan problémák - a problémákat lást alább - amiket az adatbázis kezelő helyett az üzleti logika is meg tud oldani, ráadásul hatékonyabban az alap működésből adódóan).&lt;br /&gt;
&lt;br /&gt;
Megfelelő izoláció hiányában előforduló problémák:&lt;br /&gt;
* Elveszett módosítás: 2 tranzakció is módosítja az elemet, ekkor csak a később kommitált hatása marad meg&lt;br /&gt;
* Piszkos olvasás: Nem kommitált tranzakció adatát kiolvassa egy másik tranzakció&lt;br /&gt;
* Nem megismételhető olvasás: Olvasás eredménye függ attól, hogy a tranzakción belül mikor lett kiadva&lt;br /&gt;
* Fantom rekord: Kurzoroknál előfordulhat, hogy olyan elem van benne, ami már törlődött, vagy olyan elem hiányzik, ami azóta jött létre&lt;br /&gt;
&lt;br /&gt;
MSSQL:&lt;br /&gt;
* Uncommitted read: mind a 4 probléma&lt;br /&gt;
* Committed read: Nincs piszkos olvasás (csak kommittált adat olvasható)&lt;br /&gt;
**  Implementációja (MSSQL!):&lt;br /&gt;
*** Select utasítás&lt;br /&gt;
**** Megosztott zárakat használ&lt;br /&gt;
*** Rekord módosul&lt;br /&gt;
**** Más nem olvashatja&lt;br /&gt;
* Repeatable read: nincs piszkos olvasás, nincs nem megismételhető olvasás&lt;br /&gt;
* Serializable: Teljes izoláció -&amp;gt; egyik probléma sem fordulhat elő&lt;br /&gt;
* Snapshot (szabványtól eltérő)&lt;br /&gt;
** az Oracle Committed Read izolációs szint implementációjával kompatibilis&lt;br /&gt;
&lt;br /&gt;
Oracle:&lt;br /&gt;
* Committed read: Nincs piszkos olvasás (csak kommittált adat olvasható)&lt;br /&gt;
** Implementációja (Oracle!):&lt;br /&gt;
*** Select utasítás&lt;br /&gt;
**** Nem helyez el zárakat&lt;br /&gt;
*** Rekord módosul&lt;br /&gt;
**** A commitált kép &#039;&#039;&#039;mindig&#039;&#039;&#039; olvasható&lt;br /&gt;
* Serializable: Teljes izoláció -&amp;gt; egyik probléma sem fordulhat elő&lt;br /&gt;
* Read only (szabványtól eltérő)&lt;br /&gt;
** Serilazibale konzisztenciájú&lt;br /&gt;
** Nem módosíthat&lt;br /&gt;
** Tipikusan jelentésekhez&lt;br /&gt;
&lt;br /&gt;
==3. Ismertesse az adatbázisok szerver oldali programozásának előnyeit, hátrányait! Milyen programozási lehetőségei, sajátosságai vannak az Oracle Servernek?==&lt;br /&gt;
&lt;br /&gt;
Előnyök:&lt;br /&gt;
* Adatbázis felelős a konzisztenciáért&lt;br /&gt;
* Adatbiztonság&lt;br /&gt;
** Adatmódosítás csak definiált interfészen keresztül&lt;br /&gt;
* Zárt futtató környezet&lt;br /&gt;
* Teljesítmény növelés&lt;br /&gt;
** Csökkenő hálózati forgalom&lt;br /&gt;
** Tárolt végrehajtási tervek&lt;br /&gt;
** Cache&lt;br /&gt;
* Termelékenység&lt;br /&gt;
** Többkomponens hívhatja&lt;br /&gt;
** Egyszerűbb karbantartás&lt;br /&gt;
&lt;br /&gt;
Hátrányok:&lt;br /&gt;
* Nem szabványos&lt;br /&gt;
** Platformfüggő nyelvi elemek, megoldások&lt;br /&gt;
* Interpretált&lt;br /&gt;
* Növeli a szerver terhelését&lt;br /&gt;
* Nem, illetve nehezen skálázható&lt;br /&gt;
* Adatrétegbe nem illik bele az üzleti logika&lt;br /&gt;
&lt;br /&gt;
Oracle Server:&lt;br /&gt;
* Pascal jellegű szintax&lt;br /&gt;
* Tárolt eljárások&lt;br /&gt;
** Eltárolja a szerver a végrehajtási tervet, hivatkozott objektumokat és a státuszát&lt;br /&gt;
** Ha érvénytelenné válik(pl valamely tábla struktúrája vagy jogosultsága megváltozik), akkor következő futtatásnál fordítja újra&lt;br /&gt;
** Lehet külső, ekkor egy külső folyamat hajtja végre&lt;br /&gt;
** Lehet függvény, ekkor van visszatérési értéke&lt;br /&gt;
* Triggerek: Eseménykezelés&lt;br /&gt;
** DML(táblához), DDL(sémához), rendszeresemény hatására&lt;br /&gt;
** Instead of triggerrel lehet nézetekben is módosítást értelmezni&lt;br /&gt;
** Lehet sor és utasítás szintű&lt;br /&gt;
** :new és :old az új/eéőző érték&lt;br /&gt;
** Lehet kaszkádosítani&lt;br /&gt;
** Nem lehet rekurzió&lt;br /&gt;
** Triggerek sorrendje megadható&lt;br /&gt;
** DML-nél csatlakozik a tranzakcióhoz&lt;br /&gt;
** DDL-nél és rendszereseménynél új tranzakciót indít&lt;br /&gt;
* Csomagok: Eljárások gyűjteménye&lt;br /&gt;
** Interface&lt;br /&gt;
** Session kezelése&lt;br /&gt;
** Használatkor betöltödik az egész&lt;br /&gt;
* Interpretált&lt;br /&gt;
* Zárt környezet&lt;br /&gt;
&lt;br /&gt;
==4. Ismertesse az adatbázisok szerver oldali programozásának előnyeit, hátrányait! Milyen programozási lehetőségei, sajátosságai vannak az MS SQL Servernek?==&lt;br /&gt;
Lásd előző feladat&lt;br /&gt;
&lt;br /&gt;
MSSQL Server:&lt;br /&gt;
* Tárolt eljárások&lt;br /&gt;
** Optimalizál, fordít&lt;br /&gt;
** Újrafordít (pl új index bevezetésekor)&lt;br /&gt;
** Külső eljárások .NET Assemblyk&lt;br /&gt;
** Tárolt függvények: Nem módosíthatnak adatot&lt;br /&gt;
* Triggerek&lt;br /&gt;
** Inserted, Deleted az új/régi érték&lt;br /&gt;
** Kaszkádosítás&lt;br /&gt;
** Rekurzió&lt;br /&gt;
** Teljes sorrend nem definiálható, csak az első és utolsó&lt;br /&gt;
** Instead of triggerek&lt;br /&gt;
** DDL trigger is a tranzakció része&lt;br /&gt;
&lt;br /&gt;
==5. Mi a lekérdezés optimalizáló feladata? Ismertesse az Oracle Server lekérdezés optimalizációjának sajátosságait!==&lt;br /&gt;
&lt;br /&gt;
Optimalizálás: Kevésbé használja a hardvert ugyanannak a hatásnak az eléréséhez&lt;br /&gt;
* IO:&lt;br /&gt;
** Korai beolvasás&lt;br /&gt;
** Cilinder alapú szervezés (Egymás utáni adatok könnyen kiolvashatóak)&lt;br /&gt;
** RAID&lt;br /&gt;
** Liftezés&lt;br /&gt;
* CPU&lt;br /&gt;
* Memória&lt;br /&gt;
&lt;br /&gt;
Optimalizáló:&lt;br /&gt;
* Fizikai terv elkészítése&lt;br /&gt;
* Táblák bejárása&lt;br /&gt;
* Táblák összekapcsolása&lt;br /&gt;
* Logikai tervet kap&lt;br /&gt;
* Optimalizált tervet ad át a sorfordítónak, ami leképzi, majd a végrehajtó végrehajtja&lt;br /&gt;
&lt;br /&gt;
Logikai optimalizálás:&lt;br /&gt;
* Elemző fa kialakítása&lt;br /&gt;
** Reláció&lt;br /&gt;
** Művelet&lt;br /&gt;
** Adat áramlása (lentről felfelé)&lt;br /&gt;
* Relációs algebrai műveletek&lt;br /&gt;
* Fa átalakítása&lt;br /&gt;
** Kiválasztás lefelé&lt;br /&gt;
** Vetítés felfelé&lt;br /&gt;
** Join használata: Egyik attribútuma tábla&lt;br /&gt;
&lt;br /&gt;
Fizikai tervek optimalizációja: IO-ra&lt;br /&gt;
* Költségbecslés:&lt;br /&gt;
** B(R): Az R reláció által elfoglalt blokkok száma&lt;br /&gt;
** T(R): A reláció sorainak a száma&lt;br /&gt;
** V(R,a): Az R reláció az &#039;a&#039; attribútumainak a variáltsága&lt;br /&gt;
&lt;br /&gt;
Oracle optimalizációja:&lt;br /&gt;
* Módok:&lt;br /&gt;
** Atbocsájtó képesség&lt;br /&gt;
** Első n sor megtalálása&lt;br /&gt;
* Nézetek:&lt;br /&gt;
** Allekérdezésként vagy&lt;br /&gt;
** Külön optimalizálja&lt;br /&gt;
* Statisztikák:&lt;br /&gt;
** Defaultértékek, majd mintavételezés&lt;br /&gt;
** Adatszótárak&lt;br /&gt;
* Táblaelérési módok:&lt;br /&gt;
** Full table scan: Nincs index, sok rekord kell&lt;br /&gt;
** Rowid scan: Index alapján&lt;br /&gt;
** Unique index scan: Elsődleges kulcs alapján&lt;br /&gt;
** Index range scan: Index szerint rendezett eredményhalmaz&lt;br /&gt;
** Full index scan: Kulcs szerint rendezett eredményhalmaz&lt;br /&gt;
** Fast full index scan: Ha csak az index elemei kellenek (nem kell a táblát elérni hozzá)&lt;br /&gt;
** Index join: Összekapcsolt indexek attribútumaihoz&lt;br /&gt;
** Bitmap index scan: Feltétel kiértékeléséhez&lt;br /&gt;
* Indexek:&lt;br /&gt;
** B*&lt;br /&gt;
** Bitmap index&lt;br /&gt;
** Index organized table: Blokkok sorrendje index szerint&lt;br /&gt;
* SQL hint:&lt;br /&gt;
** Preferált index&lt;br /&gt;
** Index használatának tiltása&lt;br /&gt;
** Join típus&lt;br /&gt;
** Join sorrend&lt;br /&gt;
** Táblaelérési mód&lt;br /&gt;
** Párhuzamos végrehajtás&lt;br /&gt;
&lt;br /&gt;
==6. Mi a lekérdezés optimalizáló feladata? Ismertesse az MS SQL Server lekérdezés optimalizációjának sajátosságait!==&lt;br /&gt;
&lt;br /&gt;
Lásd: előző feladat&lt;br /&gt;
&lt;br /&gt;
MSSQL optimalizációja:&lt;br /&gt;
* Statisztikák alapján&lt;br /&gt;
* Triviális terv: Szabály alapú&lt;br /&gt;
* Nem triviális terv: Ha valamelyik fázis után elég kicsire becsüli a költséget, akkor nem megy tovább&lt;br /&gt;
** 0. fázis: Egyszerű átalakítások&lt;br /&gt;
** 1. fázis: Kibúvített átalakítások&lt;br /&gt;
** 2. fázis: Párhuzamos végrehajtások vizsgálata&lt;br /&gt;
* Táblaelérési módok:&lt;br /&gt;
** Table scan&lt;br /&gt;
** Clustered index scan: Nyalábolt adatolvasás, primary key mentén&lt;br /&gt;
** Nonclustered index scan: = operátor kiértékelésére&lt;br /&gt;
** Non/Clustered index seek: &amp;lt;, &amp;gt; operátorok kiértékelésére&lt;br /&gt;
* Indexek:&lt;br /&gt;
** B*&lt;br /&gt;
*** Egyszerű&lt;br /&gt;
*** Összetett&lt;br /&gt;
*** Clustered&lt;br /&gt;
* SQL hint&lt;br /&gt;
* Plan cache: A végrehajtási tervet eltárolja&lt;br /&gt;
* Indexelt nézetek: Eltárolja a nézetek eredményeit&lt;br /&gt;
* Included column: B* fa levelének bővítése oszlopokkal (a tényleges rekordot nem kell kiolvasni)&lt;br /&gt;
* Clustered és nonclustered indexek együttes használata&lt;br /&gt;
&lt;br /&gt;
==7. Mi az adatelérési osztálykönyvtárak szerepe? Ismertesse a kapcsolat alapú ADO.Net adatelérést!==&lt;br /&gt;
&lt;br /&gt;
Adatelérési könyvtár szerepe: Absztrahálja az adatelérést&lt;br /&gt;
&lt;br /&gt;
Kapcsolat alapú ADO.Net:&lt;br /&gt;
* Előnyei&lt;br /&gt;
** Konkurrencia kezelése egyszerűbb&lt;br /&gt;
** Adatok mindig a legfrissebbek&lt;br /&gt;
* Hátrányok&lt;br /&gt;
** Folyamatos kapcsolat&lt;br /&gt;
** Kevésbé skálázható&lt;br /&gt;
* DataReader&lt;br /&gt;
* SqlCommand&lt;br /&gt;
* SqlConnection&lt;br /&gt;
* Működés lépései:&lt;br /&gt;
** Kapcsolat nyitás&lt;br /&gt;
** Munka&lt;br /&gt;
** Kapcsolat zárás&lt;br /&gt;
* Pesszimista ütközéskezelés: Adatbázis zárak&lt;br /&gt;
&lt;br /&gt;
==8. Mi az adatelérési osztálykönyvtárak szerepe? Ismertesse a kapcsolat nélküli ADO.Net adatelérést! Hogyan működik az optimista konkurencia kezelés?==&lt;br /&gt;
&lt;br /&gt;
Lásd előző feladat&lt;br /&gt;
&lt;br /&gt;
Kapcsolat nélküli ADO.Net:&lt;br /&gt;
* Előnyei/Hátrányai: !kapcsolat alapú&lt;br /&gt;
* DataSet: Adatbázis a memóriában&lt;br /&gt;
** Felölthető, módosítható lokálisan, majd visszatölthető&lt;br /&gt;
** Kapcsolatokat tud kezelni&lt;br /&gt;
** Kulcsok, kényszerek&lt;br /&gt;
** Lehet típusos&lt;br /&gt;
* DataAdapter: DataSet-et illeszti az adatbázishoz. Feltölt, szinkronizál&lt;br /&gt;
* DataView: Nézet egy tábla fölött. Adatkötés&lt;br /&gt;
* Sor állapotai: Ez alapján vezeti át az Adapter&lt;br /&gt;
** Unchanged&lt;br /&gt;
** Added&lt;br /&gt;
** Deleted&lt;br /&gt;
** Modified&lt;br /&gt;
** Detached: Nem része kollekciónak&lt;br /&gt;
* Működés lépései:&lt;br /&gt;
** Kapcsolat nyitás&lt;br /&gt;
** DataSet feltöltése&lt;br /&gt;
** Kapcsolat zárás&lt;br /&gt;
** Munka&lt;br /&gt;
** Kapcsolat nyitás&lt;br /&gt;
** DataSet visszaírása&lt;br /&gt;
** Kapcsolat zárás&lt;br /&gt;
* Verziókövetés:&lt;br /&gt;
** Original&lt;br /&gt;
** Current&lt;br /&gt;
** Default: State-től függ&lt;br /&gt;
** Proposed: Szerkesztés alatt&lt;br /&gt;
* Optimista ütközéskezelés: Tartalom vagy timestamp alapján vizsgáljuk&lt;br /&gt;
&lt;br /&gt;
==9. Mi az O/R leképzés feladata, mire szolgálnak a shadow információk? Az öröklési hierarchiát miképp lehet leképezni relációs sémára?==&lt;br /&gt;
&lt;br /&gt;
Feladata:&lt;br /&gt;
* Üzleti objektumok leképezése relációs adatmodellre&lt;br /&gt;
* Adattárolás és üzleti folyamatok összkötése&lt;br /&gt;
&lt;br /&gt;
Shadow információk: Szükségesek a perzisztencia implementálásához&lt;br /&gt;
* Kulcsok&lt;br /&gt;
* Időbélyegek&lt;br /&gt;
* Új vagy módosított objektum&lt;br /&gt;
&lt;br /&gt;
Öröklés leképzése:&lt;br /&gt;
* Egy táblába: Diszkriminátor attribútum&lt;br /&gt;
* Minden valós osztály egy-egy táblába: Csak a példányosítható osztályoknak van saját táblájuk, melyek tartalmazzák az osztály összes tulajdonságát&lt;br /&gt;
* Minden osztály egy-egy táblába: Absztrakt osztályoknak is lesz saját táblájuk, az ősök tulajdonságaihoz idegen kulcsok vannak&lt;br /&gt;
* Általános struktúrába: Bárhogy kialakíthatjuk&lt;br /&gt;
&lt;br /&gt;
==10. Ismertesse a LinQ to SQL felépítését, működését! Miképp történik az öröklési hierarchia kezelése? Miképp történik az objektumok egyediségének biztosítása?==&lt;br /&gt;
&lt;br /&gt;
LinQ: nyelvi elem&lt;br /&gt;
* ORM&lt;br /&gt;
* Alkalmazás és SQL szerver között&lt;br /&gt;
* Relációkat is kezel&lt;br /&gt;
** Azonnali/késleltetett betöltés&lt;br /&gt;
* Join&lt;br /&gt;
* Öröklés: Csak 1 táblába&lt;br /&gt;
* Objektumok egyedisége: Karbantart egy identitás táblát, így a többször lekért ugyanaz a sor ugyanarra az objektumra fog mutatni&lt;br /&gt;
&lt;br /&gt;
==11. ASP.Net környezetben miképp történik a böngészőnek küldött válasz előállítása? Mikor futnak le az egyes eseménykezelők? Milyen lehetőségünk van adatkötésre?==&lt;br /&gt;
&lt;br /&gt;
Válasz előállítása: Kliens küld HTTP kérést, majd az oldalon lévő vezérlők ezt feldolgozva előállítják a saját válaszukat, majd ez kerül vissza a klienshez HTTP válasz formájában.&lt;br /&gt;
&lt;br /&gt;
Eseménykezelők: Feldolgozás során a változások és akciók résznél.&lt;br /&gt;
&lt;br /&gt;
Adatkötés:&lt;br /&gt;
* Egyszerű: Deklaratívan vagy DataBind() hívásával&lt;br /&gt;
* Listás: Deklaratívan, kódból vagy DataBind() hívásával&lt;br /&gt;
&lt;br /&gt;
==12. Milyen elemekből építkezik az AJAX, mi az egyes elemek szerepe? Miképp történik az oldalak részleges frissítése? Mire szolgál az Update Panel?==&lt;br /&gt;
&lt;br /&gt;
AJAX:&lt;br /&gt;
* XmlHttpRequest: Aszinkron kérés&lt;br /&gt;
* Javascript: Kliens oldali program, amelyik kezeli az aszinkron kommunikációt&lt;br /&gt;
* DOM: Kliens oldali dokumentum&lt;br /&gt;
* XML: A kommunikációt leíró nyelv&lt;br /&gt;
&lt;br /&gt;
Oldalak részleges frissítése: Csak az oldalnak egy bizonyos része kerül vissza a szervernek. A teljes oldalt legenerálja, de csak a kijelölt régiók tartalma lesz a kliensnek kiküldve&lt;br /&gt;
&lt;br /&gt;
UpdatePanel: Az ebben lévő elemek lesznek részlegesen frissítve&lt;br /&gt;
&lt;br /&gt;
==13. Ismertesse az elosztott adatbázisok előnyeit, hátrányait! Hogyan működnek az elosztott nézetek?==&lt;br /&gt;
&lt;br /&gt;
Elosztott adatbázis: Logikailag egyetlen adatbázis, de több számítógépen van tárolva&lt;br /&gt;
* Előnyei:&lt;br /&gt;
** Skálázható&lt;br /&gt;
** Nagyobb megbíhatóság&lt;br /&gt;
** Helyi irányítás&lt;br /&gt;
** Moduláris növekedés&lt;br /&gt;
** Kisebb kommunikációs költség&lt;br /&gt;
** Gyorsabb válaszidő&lt;br /&gt;
* Hátrányai:&lt;br /&gt;
** Komplexitás&lt;br /&gt;
** Megnövekedett koordinálási feladat&lt;br /&gt;
** Adatintegritás nehezebb&lt;br /&gt;
&lt;br /&gt;
Elosztott nézetek:&lt;br /&gt;
* &#039;&#039;&#039;Vízszintes particionálás&#039;&#039;&#039;&lt;br /&gt;
** Egyes sorok egyik helyen&lt;br /&gt;
** Más sorok másik helyen&lt;br /&gt;
** Tranzakciók abban a fiókban, ahol a számla van&lt;br /&gt;
** Előnyök&lt;br /&gt;
*** hatékonyság: adat közel a felhasználóhoz&lt;br /&gt;
*** helyi optimalizáció&lt;br /&gt;
*** biztonság: csak azok az adatok, amelyek érdekesek egy adott helyen&lt;br /&gt;
*** lekérdezés eredménye egyszerő unió&lt;br /&gt;
** Hátrányok&lt;br /&gt;
*** inkonzisztens elérési idő&lt;br /&gt;
*** hiba esetén nem térhetünk át egy másik csomópontra&lt;br /&gt;
* &#039;&#039;&#039;Függőleges particionálás&#039;&#039;&#039;&lt;br /&gt;
** Oszlopok szerint osztjuk fel a relációt&lt;br /&gt;
** Két részleg: mérnöki, gyártás&lt;br /&gt;
** Előnyök&lt;br /&gt;
*** ugyanaz, mint vizszintesnél&lt;br /&gt;
*** de a lekérdezés eredménye: join&lt;br /&gt;
** Hátrányok&lt;br /&gt;
*** ugyanaz, mint vízszintesnél&lt;br /&gt;
&lt;br /&gt;
==14. Ismertesse az elosztott adatbázisok előnyeit hátrányait! Mire szolgál a replikáció? Hogyan működik?==&lt;br /&gt;
&lt;br /&gt;
Lásd előző feladat&lt;br /&gt;
&lt;br /&gt;
Replikáció: Adatokat elosztja a több adatbázis között&lt;br /&gt;
* Ami változik egyik helyen, azt átvezetjük a többire is.&lt;br /&gt;
&lt;br /&gt;
==15. Ismertesse a két és háromrétegű adattárház építésének folyamatát! Mi a különbség az adatpiac és az adattárház között?==&lt;br /&gt;
&lt;br /&gt;
Architektúrák:&lt;br /&gt;
* Kétrétegű: A felhasználók közvetlenül az adattárházhoz kapcsolódnak, ami az OLTP-ből nyeri az adatokat&lt;br /&gt;
* Háromrétegű: A felhasználók adatpiacokhoz(data mart) férnek hozzá, ahol tematikusan kiválasztott részek és származtatott adatok vannak&lt;br /&gt;
&lt;br /&gt;
Adattárház építésének lépései:&lt;br /&gt;
* Adatok kinyerése: Milyen adatokra van szükség, hogyan érjük el(ha pl. nem relációs)&lt;br /&gt;
* Tisztítása:&lt;br /&gt;
** Hiányzó adat kezelése&lt;br /&gt;
*** Teljes rekord elvetése&lt;br /&gt;
*** A hiányzó adat bekérése.&lt;br /&gt;
*** A hiányzó adat helyettesítése&lt;br /&gt;
**** Konstans értékkel&lt;br /&gt;
**** Átlagértékkel&lt;br /&gt;
**** Csoportra jellemző átlagértékkel&lt;br /&gt;
**** Legvalószínűbb értékkel&lt;br /&gt;
** Zajszűrés:&lt;br /&gt;
*** Numerikus adatok zajszűrése:&lt;br /&gt;
**** Binning: minden k számú elemcsoportot helyettesít az átlagával&lt;br /&gt;
**** Csoportképzés: Több attribútum együttes előfordulását vizsgálják, majd az egymás közelében elhelyezkedő adatokat a csoportot jellemző adatokkal helyettesítjük (csoport súlypontjával)&lt;br /&gt;
**** Regresszió: Ebben az esetben is több attribútum együttes előfordulását vizsgáljuk, az egyes attribútumok közt valamilyen függvénykapcsolatot keresünk (általában lineárisat), majd az egyes értékeket a regressziós függvény értékeivel helyettesítjük.&lt;br /&gt;
*** Szöveges adatok:&lt;br /&gt;
**** Szótár alapú&lt;br /&gt;
**** Klaszterező: Hash fv-vel számokká képezzük le&lt;br /&gt;
* Transzformálása: Az adatok az adattárház egységes sémájára történő leképzés&lt;br /&gt;
** Rekord szintű:&lt;br /&gt;
*** Kiválasztás&lt;br /&gt;
*** Összekapcsolás&lt;br /&gt;
** Mező szintű: Típuskonverzió&lt;br /&gt;
*** Algoritmikus&lt;br /&gt;
*** Lekérdezéssel&lt;br /&gt;
* Betöltése és indexelése: Pillanatkép és histórikus adatok&lt;br /&gt;
&lt;br /&gt;
==16. Ismertesse a multidimenzionális adatmodellt! Mikor nevezünk egy rendszert OLAP rendszernek? Mire szolgál az OLAP kocka?==&lt;br /&gt;
&lt;br /&gt;
Multidimenzionális adatmodell:&lt;br /&gt;
* Alapelemei:&lt;br /&gt;
** Dimenziós adatok: Ezen adatok mentén történik az elemzések végrehajtása&lt;br /&gt;
** Hierarchia szintek: Felbontás&lt;br /&gt;
** Tény adatok: Amit elemzünk&lt;br /&gt;
* Sémák:&lt;br /&gt;
** Csillag: A tény adatokat tartalmazó táblához idegen kulcsokkal csatlakoznak a dimenziós tánlák&lt;br /&gt;
** Hópehely: A tény adatokhoz csak a legalacsonyabb hierarchia szint van csatolva, és ahhoz van a többi, így joinolni kell.&lt;br /&gt;
&lt;br /&gt;
OLAP(Online Analytical Processing) rendszerek:&lt;br /&gt;
* FASMI(Fast Analysis of Shared Multidimensional Information) teszt: &lt;br /&gt;
** Fast: Gyors&lt;br /&gt;
** Analysis: A felhasználó számára szükséges üzleti és statisztikai elemzések elkészítésére alkalmas.&lt;br /&gt;
** Shared: Megosztott&lt;br /&gt;
** Multidimensional&lt;br /&gt;
** Information: Összes adat és származtatott adat elérhető&lt;br /&gt;
&lt;br /&gt;
OLAP kocka:&lt;br /&gt;
* Dimenzió: A kocka élei&lt;br /&gt;
* Hierarhia: Elvégezhető elemzések mélysége&lt;br /&gt;
* Aggregátum: Származtatott mennyiségek&lt;br /&gt;
&lt;br /&gt;
OLAP kocka műveletek:&lt;br /&gt;
* Szeletelés: 1 érték rögzítése, a diemnziószám csökken&lt;br /&gt;
* Részkocka kiválasztása: Értékek megkötése&lt;br /&gt;
* Lefúrás: Hierarhia szint csökkentése&lt;br /&gt;
* Felfelé görgetés: hierarhia szint növelése&lt;br /&gt;
* Forgatás: A megjelenített eredményt elforgatja&lt;br /&gt;
&lt;br /&gt;
==17. Milyen főbb újdonságokat hozott be a WPF?==&lt;br /&gt;
&lt;br /&gt;
WPF újdonságai:&lt;br /&gt;
* Teljeskörű integráció: 2D,3D, beszédfelismerés,...&lt;br /&gt;
* Felbontás független: Nincs pixel&lt;br /&gt;
* Hardveres gyorsítás: D3D-re épülve harveresen gyorsított, ami nem, az szoftveresen&lt;br /&gt;
* Deklaratív szemlélet: XAML&lt;br /&gt;
* Testreszabhatóság: Nem csak szöveg, hanem bármilyen Control lehet egy gombban pl,template, skin&lt;br /&gt;
* Egyszerű telepítés: Hagyományos, böngészőben&lt;br /&gt;
&lt;br /&gt;
== 18. Mi a dependency property? Hogyan adható meg, hogyan használható?==&lt;br /&gt;
&lt;br /&gt;
Dependency property: Adatkötés&lt;br /&gt;
* Változásról értesítés automatikus&lt;br /&gt;
* Property érték öröklése lefelé&lt;br /&gt;
* Regisztrálni kell&lt;br /&gt;
&lt;br /&gt;
==19. A vezérlők (pl. button) szintjén milyen újdonságokat hozott be a WPF? Mutasson konkrét példát XAML kóddal együtt!==&lt;br /&gt;
&lt;br /&gt;
WPF controllok:&lt;br /&gt;
* Content control: Egyetlen gyerekük lehet&lt;br /&gt;
** Button, RepeatButton, ToggleButton, CheckBox, RadioButton&lt;br /&gt;
** Label, Tooltip, Frame&lt;br /&gt;
** GroupBox, Expander&lt;br /&gt;
* Items Control: Tetszőleges mennyiségű gyerekük lehet&lt;br /&gt;
* Range Control: Előre megadott számérték közötti számértéket jelenítenek meg&lt;br /&gt;
* Text Control: TextBox, RichTextbox, PasswordBox&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
=Egyéb megválaszolt kérdések=&lt;br /&gt;
&lt;br /&gt;
==Ismertesse a különböző join operátorok (nested loop, hash join, sort merge join) működését és tulajdonságait!==&lt;br /&gt;
&lt;br /&gt;
* Nested Loops Join&lt;br /&gt;
** Egymásba ágyazott kettős for ciklus&lt;br /&gt;
** I/O költség&lt;br /&gt;
*** Nyalábolt esetben: O(B(R) * B(S))&lt;br /&gt;
*** Nem nyalábolt esetben: O(T(R) * T(S))&lt;br /&gt;
** Tetszőleges méretű táblákra működik&lt;br /&gt;
*** Nagy méret esetén: a két tábla egy-egy blokkját tartja memóriában&lt;br /&gt;
*** Kis méret: a táblát bent lehet tartani&lt;br /&gt;
* Hash Join&lt;br /&gt;
** Első menetben&lt;br /&gt;
*** Kisebb (R) reláció beolvasása&lt;br /&gt;
*** Vödrös hash építése a memóriában (Kulcs a join operátorban szereplő oszlop)&lt;br /&gt;
** Második menet&lt;br /&gt;
*** A nagyobbik (S) reláció beolvasása&lt;br /&gt;
*** Kapcsolódó rekordok keresése vödrös hashben&lt;br /&gt;
** I/O költség&lt;br /&gt;
*** O(B(R) + T(S))&lt;br /&gt;
* Sort merge Join&lt;br /&gt;
** Mindkét relációt beolvassa a memóriába&lt;br /&gt;
** Rendezi az összekapcsolási kulcs szerint&lt;br /&gt;
** A két rendezett listát összefésüli&lt;br /&gt;
*** Listák közös bejárása&lt;br /&gt;
*** Egyszerű algoritmus&lt;br /&gt;
** Kis méretű relációk esetén&lt;br /&gt;
** Index a rendezés miatt&lt;br /&gt;
** I/O költség&lt;br /&gt;
*** O(B(R) + T(S))&lt;br /&gt;
&lt;br /&gt;
==Mire valók a WPF-es panelek, mutass be hármat!==&lt;br /&gt;
&lt;br /&gt;
* A különböző layoutokat a Panel osztályból származó containerekkel lehet megvalósítani.&lt;br /&gt;
** &#039;&#039;&#039;Canvas&#039;&#039;&#039;&lt;br /&gt;
*** A legegyszerűbb container, abszolút pozicionálást tesz lehetővé.&lt;br /&gt;
*** A pozíciót a Canvas által definiált Canvas.Left, Canvas.Top, Canvas.Right, Canvas.Bottom attached propertykkel lehet megadni. Egyszerre csak kettő használható közülük, egy dimenzió mentén csak egy.&lt;br /&gt;
** &#039;&#039;&#039;StackPanel&#039;&#039;&#039;&lt;br /&gt;
*** Ahogyan a neve is mutatja, a StackPanel egy stackként viselkedik, a belepakolt elemeket függőleges folytonosan helyezi el.&lt;br /&gt;
*** Az elrendezés iránya (függőleges vagy vízszintes) a StackPanel Orientation attached propertyjével adható meg (alapértelmezett : Vertical).&lt;br /&gt;
** &#039;&#039;&#039;Wrappanel&#039;&#039;&#039;&lt;br /&gt;
*** A Wrappanel abban különbözik a StackPaneltől, hogy az elemeket folytonosan balról jobbra illetve eközben fentről lefelé kitöltve helyezi el.&lt;br /&gt;
*** A kitöltés iránya (hogy először fentről lefelé majd utána balról jobbra) helyezze el az elemeket az Orientation propertyvel állítható.&lt;br /&gt;
** &#039;&#039;&#039;DockPanel&#039;&#039;&#039;&lt;br /&gt;
*** A DockPanelben elhelyezett elemeket a konténer egyes oldalaihoz dokkolhatjuk (illetve kitölttethetjük velük a rendelkezésre álló szabad területet).&lt;br /&gt;
*** A dokkolás iránya (Left, Top, Right, Bottom, Stretch) a DockPanel.Dock dependency propertyvel adható meg. &lt;br /&gt;
*** A végső elrendezésben szerepet játszik az elemek felvételének sorrendje is: az első felvett elem a teljes terület felett rendelkezik, a második már csak az első által szabadon hagyottal és így tovább. &lt;br /&gt;
** &#039;&#039;&#039;Grid&#039;&#039;&#039;&lt;br /&gt;
*** Táblázatos megjelenítést tesz lehetővé.&lt;br /&gt;
*** A táblázat sorai a RowDefinitions kollekcióba felvett RowDefinition objektumokkal definiálhatók. &lt;br /&gt;
*** Az oszlopok hasonlóképpen a ColumnDefinitions kollekcióhoz hozzáadott ColumnDefinition objektumokkal. &lt;br /&gt;
*** Egy tartalmazott elem pozíciója (sor, oszlop) a Grid.Row ill. Grid.Column dependency propertykkel definiálható.&lt;br /&gt;
&lt;br /&gt;
==Objektumrelációs leképezés során miképp lehet leképezni az öröklődést (legalább 3 módszert mutasson be)? Térjen ki a többszörös öröklődés problémájára is.==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Hierarchia leképezése egy közös táblába&#039;&#039;&#039;&lt;br /&gt;
** Egyszerű hierarchiák leképezéséhez.&lt;br /&gt;
** Megvalósítás&lt;br /&gt;
*** az objektum minden attribútumát (örököltekkel) felsoroljuk&lt;br /&gt;
*** objektumtípusok (osztályok) tárolása:&lt;br /&gt;
*** minden típushoz egyedi azonosító VAGY &lt;br /&gt;
*** !IsClass1, !IsClass2, &amp;amp;#8230; oszlopok &lt;br /&gt;
*** egyedi példányazonosító tárolása&lt;br /&gt;
*** bővítés kezelése: új attribútumok felvitele&lt;br /&gt;
** Előnyök&lt;br /&gt;
*** egyszerű&lt;br /&gt;
*** könnyű új osztályt vinni a hierarchiába&lt;br /&gt;
*** könnyen követhető, melyik objektum milyen osztályok példánya&lt;br /&gt;
** Hátrányok&lt;br /&gt;
*** helypazarló&lt;br /&gt;
*** egy osztály megváltozása az egész tárolást változtatja&lt;br /&gt;
*** nehezen áttekinthető&lt;br /&gt;
* &#039;&#039;&#039;Minden valós osztály leképezése saját táblába&#039;&#039;&#039;&lt;br /&gt;
** Ritkán változó struktúrák leképezéséhez.&lt;br /&gt;
** Megvalósítás&lt;br /&gt;
*** minden valós osztálynak saját tábla&lt;br /&gt;
*** az osztály minden attribútumának eltárolása&lt;br /&gt;
*** egyedi példányazonosító tárolása&lt;br /&gt;
*** ha változik egy attribútum, csak a hierarchiaszint mentén kell végigvinni&lt;br /&gt;
** Előnyök&lt;br /&gt;
*** átlátható&lt;br /&gt;
*** gyors adatelérés&lt;br /&gt;
*** jól illeszkedik az objektummodellhez&lt;br /&gt;
** Hátrányok&lt;br /&gt;
*** osztály módosítása esetén hierarchiaszintek módosítása&lt;br /&gt;
*** több szerepet is betöltő példányok kezelése nehézkes&lt;br /&gt;
* &#039;&#039;&#039;Minden osztály leképezése saját táblába&#039;&#039;&#039;&lt;br /&gt;
** Absztrakt osztályok is&lt;br /&gt;
** Komplex öröklési hierarchia és gyakran változó struktúrák leképezéséhez.&lt;br /&gt;
** Megvalósítás&lt;br /&gt;
*** a táblák követik az osztályhierarchiát&lt;br /&gt;
*** szülő-gyerek viszony leképezése külső kulcsokkal&lt;br /&gt;
*** egyedi példányazonosító tárolása&lt;br /&gt;
** Előnyök&lt;br /&gt;
*** osztályok struktúrája könnyen módosítható&lt;br /&gt;
** Hátrányok&lt;br /&gt;
*** összetett DB-séma&lt;br /&gt;
*** egy példány adatai több táblában vannak (öröklés miatt)&lt;br /&gt;
*** összetett lekérdezés&lt;br /&gt;
* &#039;&#039;&#039;Osztályok és hierarchiaszintek általános leképezése&#039;&#039;&#039;&lt;br /&gt;
** Komplex alkalmazásokban, kis mennyiségű adat mellett, ahol akár futási időben is minden változhat.&lt;br /&gt;
** Megvalósítás&lt;br /&gt;
*** metaadat-központú&lt;br /&gt;
*** általános séma: tetszőleges hierarchia leírható &amp;amp;#8211; hierarchia &amp;amp;#61664; metaadat, példányok &amp;amp;#61664; attribútumok&lt;br /&gt;
*** class, attribute, attributeType, value, inheritance, stb&amp;amp;#8230; táblák&lt;br /&gt;
** Előnyök&lt;br /&gt;
*** perzisztencia-kezelő rendszerekhez illeszkedik&lt;br /&gt;
*** flexibilis, bármi leírható benne&lt;br /&gt;
** Hátrányok&lt;br /&gt;
*** nehéz összeszedni egy példány adatait&lt;br /&gt;
*** sok adat esetén nem hatékony&lt;br /&gt;
* &#039;&#039;&#039;Többszörös öröklés megvalósítása&#039;&#039;&#039; &lt;br /&gt;
** C++ miatt még mindig szükséges&lt;br /&gt;
** Ugyanazok a technológiák használhatók&lt;br /&gt;
** Az általános megoldásban benne van&lt;br /&gt;
&lt;br /&gt;
==Tekintsük a mellékelt adatmodell LinQ leképzését! Készíts olyan C# nyelvű, LinQ-re épülő függvényt, mely a 10 legdrágább terméket átsorolja egy új kategóriába (a kategória lehet, hogy létezik, de az is lehet, hogy létre kell hozni), a kategória neve, és a DataContext bemenő paramétere a függvénynek!==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
public void function(String name, CustomDataContext sdc){&lt;br /&gt;
				var q1 = (from t in sdc.Termeks&lt;br /&gt;
							 orderby t.NettoAr descending&lt;br /&gt;
							 select t).Take(10);&lt;br /&gt;
				var q2 = from k in sdc.Kategorias&lt;br /&gt;
							where k.Nev == name&lt;br /&gt;
								 select k;&lt;br /&gt;
				Kategoria k2;&lt;br /&gt;
				if (q2.Count() == 0) {&lt;br /&gt;
					 k2 = new Kategoria();&lt;br /&gt;
					 k2.Nev = name;&lt;br /&gt;
				} else {&lt;br /&gt;
					 k2 = q2.First();&lt;br /&gt;
				}&lt;br /&gt;
				foreach (Termek t in q1) {&lt;br /&gt;
					 t.Kategoria = k2;&lt;br /&gt;
				}&lt;br /&gt;
				sdc.SubmitChanges();&lt;br /&gt;
		  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
=Egyéb megválaszolatlan kérdések=&lt;br /&gt;
&lt;br /&gt;
==ADO.NET kapcsolatnélküli modell bemutatása + példa==&lt;br /&gt;
&lt;br /&gt;
==Mi a clustered index MSSQL-ben, mi történik, ha clustered és non clustered index is van egy táblára? Mi az included column?==&lt;br /&gt;
&lt;br /&gt;
==Adott egy osztályhierarchia (Jármű, Gépjármű, Repülő, stb.). Milyen adattáblákba és C# osztályokba képezzük le?==&lt;br /&gt;
&lt;br /&gt;
==A példaadatbázisba fel kell venni egy új oszlopot Vevo. OsszesVasarlas néven. Fel kell tölteni az értékét a !MegrendelésTétel tábla alapján scripttel + írni kell rá egy karbantartó triggert.==&lt;br /&gt;
&lt;br /&gt;
==Tekintsük a mellékelt adatmodellt! Vegyünk fel a vevők táblába egy új oszlopot: OsszMegrendeles, mely jelentése, hogy a vevő mekkora értékben rendelt eddig. Készíts scriptet MS SQL Serverre, mely a kívánt módosításokat elvégzi, valamint készíts triggert/ triggereket, mely az OsszMegrendeles oszlopot karban tartja!==&lt;br /&gt;
&lt;br /&gt;
==Ismertesse az MSSQL szerver a nem módosítható és módosítható replikációját.==&lt;br /&gt;
&lt;br /&gt;
==Tekintsük a mellékelt adatmodellt. Vegyünk fel a vevők táblába egy új oszlopot: Inaktív, amely jelentése, hogy a vevő régen rendelt. Készíts tárolt eljárást Oracle szerveren, mely minden vevőnek beállítja az inaktív státuszát! Azokat tekintjük inaktívnak, akik már 180 napja nem rendeltek semmit.==&lt;br /&gt;
&lt;br /&gt;
==Tekintsük a mellékelt adatmodell LinQ leképezését! Készítsen olyan C# nyelvű LinQ-re épülő függvényt, mely a paraméterül kapott DataContext -et, és a Megrendelés és !SzámlaKiállító objektumokra készít efy új számlát (beleértve a számlatételeket is).==&lt;br /&gt;
&lt;br /&gt;
==ASP.NET alkalmazásokban miképp lehet megvalósítani az optimista konkurencia kezelést? Írjon mintaprogramot, amely az ÁFA táblán megvalósítja, amennyiben szükséges, módosítja a táblát.==&lt;br /&gt;
&lt;br /&gt;
==C# függvényt kellett írni, linq to sql kód==&lt;br /&gt;
&lt;br /&gt;
==C# de ado.netes, kapcsolat Alapú modell==&lt;br /&gt;
&lt;br /&gt;
==Oracle sql lekérdezések és triggerírás==&lt;br /&gt;
&lt;br /&gt;
==Ajax fogalma, milyen technológiát használ és mi a lényege==&lt;br /&gt;
&lt;br /&gt;
==Ismertesse a két és háromrétegű adattárház architektúrát!==&lt;br /&gt;
&lt;br /&gt;
==2 és 3 rétegű adattárház technológia. Miben különbözik az adattárház és az adatpiac?==&lt;br /&gt;
&lt;br /&gt;
==Hasonlítsa össze az Oracle és MSSQL triggerkezelését==&lt;br /&gt;
&lt;br /&gt;
==ASP.NET-ben hogyan történik a böngészőből jövő kérés kezelése(vagy vmi hasonló)? Mikor történik az események feldolgozása?==&lt;br /&gt;
&lt;br /&gt;
==Készítésen tárolt eljárást MSSQL adatbázisra! Paraméterként egy megrendelés azonosítót kap. Adjon 10% kedvezményt azokra a termékekre a megadott megrendelésből, melyekből a vevő már legalább 20-at rendelt(és a státusza számlázva)!==&lt;br /&gt;
&lt;br /&gt;
==Termék tábla eléréséhez kellett objektumkötéses menedzser objektumok létrehozni. Elég csak az Update műveletet megírni.==&lt;br /&gt;
&lt;br /&gt;
==Tekintsük a mellékelt adatmodellt, mely O/R leképezés eredményeképp jött létre. Objektum típusú adatkötési feladatok megoldásához készítsen C# nyelven Manager objektumot a Termék táblában tárolt Termék egyedekhez, a konkurenciakezelést is oldja meg!==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
-- [[MajorPeter|aldaris]] - 2009.06.07. &amp;lt;br/&amp;gt;&lt;br /&gt;
-- [[KantorT|Cantor]] - 2009.06.07. &amp;lt;br/&amp;gt;&lt;br /&gt;
-- [[PallosTamas|Velias]] - 2010.01.02 &amp;lt;br/&amp;gt;&lt;br /&gt;
-- [[SallaiTamas|sashee]] - 2010.01.05. &amp;lt;br/&amp;gt;&lt;br /&gt;
-- [[MolnarMarton|molnarm]] - 2011.01.05.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Infoszak]]&lt;/div&gt;</summary>
		<author><name>Tarnay Kálmán</name></author>
	</entry>
</feed>