Kakva e shemata na DATA DICTIONARY

4 отговора 123 прегледа
#1

Kakva e shemata na DATA DICTIONARY

Niakoi zapoznat li e po podrobno s na4ina na upravlenie na Data Dictionary za DELPHI4.Interesuva me kak se polzva, kak moga da go inicializiram ot tekstov fail(naprimer .CSV) i kak adjeba da kaja na TTable 4e she raboti s edi koii si DD.
Interesuvat me primeri(sousrse) koito pokazvat kak se manipulira na nisko nivo s DD.
Ili pone niakoii smislen link...pleaseee...
Predvaritelno blagodaria...

Отговор
в отговор на EFEX #2

Re: Kakva e shemata na DATA DICTIONARY

...Mejdudrugoto az zapo4nah sam da "preotkrivam toplata voda" taka 4e shte opisha kakvo znam do tuk a ako niakoi drug nameri par4ence ot puzela shte sum mu blagodaren ako go "lepne" tuk.....

Vsashtnost Data Dictionari sie e 4ista tablica namirashta se v niakakava si DB...
Namerih v helpa kak moga da sazdam s procedura nov Alias no kak da kaja na programata ili obkrajenieto 4e edi koia si tablica v edi koia si DB shte bade DD a ne prosto tablica...
A i samata struktura na tazi tablica za men e neponiatna(zasega)...
Ne moga da razbera dali na TTable tribva da kaja 4e triabva da raboti s TEST_DD(naprimer) ili v samia TEST_DD tribva da popalnia tablicite s koito shte raboti....

Parvia i osnoven problem e kak se zadava s koi DD shte se raboti(naprimer v na4aloto na programata) i moje li da se smenia po vreme na rabota s drug DD i kak...

Отговор
в отговор на EFEX #3

Re: Kakva e shemata na DATA DICTIONARY

Повече разяснения ще намериш в Mastering Delphi 4 - на Marco Cantu - предполагам, че го има и в по-новите верси ;-))) - има цяла глава.

Ето ти и малко инфо - относно Data Dictionary - то - то служи като template - при design time - а на таблиците в Делфи - за да се инициализират полетата по бързо! С него могат да се репликират метаданните на база данни - т.е. да се създаде наново - на друго място - проблема е, че това май не може да стане извън DB Explorer-a !
Тоест имаш един Data Dictionary(по едно и също време - иначе можеш да имаш няколко регистрирани но само един активен) - не можеш май да го сменяш (освен ако не пипаш май в регистрите на вин-а) или чрез DB Explorer - a - и той е валиден за всички проекти - в него можеш да си добавяш различни Alias-и - за различните бази данни. Когато създаваш таблица/заявка - и инициализираш полетата - даниите (dispaly/edit format, constrains и много други неща) се инициализират от Data Dictionary -то. Както разбираш май - Data Dictionary -то се използва при дизай тайма на програмата основно (не задължително) - или за репликацията на метаданните - което от предния постинг разбирам, че си направил и без DD -то ! Не виждам с какво може да ти помогне повече за това - освен да си усложниш живота.

В контекста на казаното по горе разбираш, че Database Dictionary - то служи за контрол на интегритета на базата данни - и по лесното транспортиране на различни машини - има обаче един труден въпрос - не знам дали има лесно решение за инсталиране - автоматично - а не чрез DB Explorer- a - на друг компютър.
Като знам каква е основната цел на задачата ти - мисля, че не си избрал най-правилния подход ;-))) - най-малкото един въпрос - как е организирана процедурата по създаване на таблиците - ето ти един пример - не го приемай буквално ;-)))

procedure CreateTable ( const Data: TMetaData) ;
begin
if not RegistrationIsOk then //towa e funkcia koiato wrysta da/ne - dali e instalirana prawilno programata
Exit;

bla bla bla - tuka se syzdawa tablicata ili drugi nesta
end;

Всички алгоритми за защита имат едно много слабо място - а това е начина по който се определя дали програмата е правилно инсталиранат - т.е. от "законния" собственик - обикновено кракерите се целят в това място ;-)) - и обикновено това е една функция ;-))) )- която се хаква много лесно

Не знам какъв е подхода ти - но ако използваш нещо такова - забрави да се опазиш - няма да стане ;-)))
А и нещо друго - как определяш дали програмата се използва от "законния" собственик ;-))) - ако е ключ или тапа - просто няма смисъл да си правиш труда - отключването на подобно нещо е въпрос на свободно време за средно ниво програмист - отбираш достатъчно от asm ;-))), а и нищо чудно самия собственик да "услужи" с ключа на приятел ;-)

---
Е т'ва е живот!
Отговор
в отговор на PhantomAS #4

Re: Kakva e shemata na DATA DICTIONARY

Това последното е практика.

Отговор
в отговор на PhantomAS #5

Re: Kakva e shemata na DATA DICTIONARY

Napalno si prav Pfantomas... i blagodaria za raziasnenieto... :))))

Naistina Procedurata za sazdavaneto na tablicita e edna i tam e naii slaboto miasto za programata...

Niama problem sas proverkata na zakonnia sobstvenik... t.e. ne me pritesniava i da ia kopira na priiatel sas sobstveniia klu4....(i apropo takav klu4 ne sam slojil. izlishen e)hvatkata e druga....

Kraiinoto zveno na programata e varznao s opredelna periferia.....da re4em elekronen kantar...Ako programata ne mine prez obrabotkata na tazi periferia(naprimer teglene na danni ot neia) togava programata gubi smisal....

Za da raboti kompa s tozi kantar tribva niakade da se spomene negovia serien nomer(na kantara)....Tozi serien nomer moga da go sloja i vav fail i v tablica ili kadeto poiskam ..dori i v sorsa....
Da re4em 4e sam go slojil v tablica...i v programata sashtestvuvat 20-na izvikvania kam tazi tablica(demek sazdavane i t.n.).

Az znam 4e pri krakvane ako ne moje da se mine prez niakoia "vrati4ka" to sashtata se preska4a... I to4no tova mi e ideiata... ako se presko4i 4eteneto na DD predi sazdavaneto na tablicata to tablicata izobshto niama da funcionira a i ot tam niama da moje da se pro4ete seriinia nomer na periferiata i ottam sledva 4e ne moje da se raboti s tazi periferia... a i oshte pove4e 4e ne se znae pri sazdavaneto no koi tablici to4no se tarsi tozi nomer....

NO ..... tova e 50% ot problema mi..... otnosno DD.

Drugite 50% sa v tova 4e DD mi e nujen zashtoto tablicite mogad da badat dosta...desetki naprimer.....
Kakto ve4e pisah az gi 4eta ot TXT file da re4em i sazdavam tablicata samo kogato mi potriabva i sled tova vrashtam dannite pak v txt file.....razbira se rabotata e dvoiina i cialata shema izglejda tupo no vposledstvie tezi danni moga da gi hvarlia v druga DB a i moga po svoii na4in da kodiram tozi fail a i dosta drugi ulesnenia iznikvat kato kompensacia za "dvoiinata rabota"...
Ta zatova tova DD shte mi spesti dosta(MB) i t.n. ......

Za sajalenie i az se ubejdavam vse pove4e 4e toz DD ne moje da se uprvliava 4rez proceduri....a i na po nisko ot procedurno nivo ne mi se zanimava....zatova reshih da si npravia sobstvena procedura po zarejdaneto na properties na poletata......

Oshte vednaj blagodaria za sadeistvieto.....

P.P.
Otnosno tova 4e sled godina shte mina na sql i shte se 4uda za ko she mi e toz DD - az ot skoro ve4e preotkrivam mySQL i stignah do zakliu4enie 4e vse pak shte mi e nujen kato ideia.. ;-)

Отговор