Похожие презентации:
Impeller. Database programming language
1. Impeller
Database programming language2. Introduction
connect(“website.org”)var1←tab #tab{fld1+fld2}>10
var1←var1⌄tab #{fld1+fld2}<5
var2←tab #tab{fld1}=7
var3←var1\var2
var3←var1&var2
var3←var1⌄var2
var1:tab{fld2}←7
←var1
var1↓
var1↑
rollback()
//available in subproc too
//assign
//append
//“not”, i.e. except
//“and”, i.e. intersect
//“or”, i.e. union
//request inside variable
//duplicate tuples, i.e. copy
//save
//delete
3. Departments
_departmentsname~text
id≈uni2
skin~nat16
//system table in one scheme
tab
//user table
//fictional field
d~dep
id≈uni8
_permissions4deps
d≈_departments
t≈_tables
r≈_roles
permissions~nat2[5, 3, 2]
//guid
//system table in one scheme
//[In,Ed,As,De,Pi][Mb,Mb/s,Mb/s][u, r]
4. Corks
_ciphersskin~nat16
hort~nat16
encrypt, decrypt~bin
//alter-or-create: create
//guid
//visible only by administrator
//visible only by administrator
_shortCorks, _longCorks
hort≈rand16
forEncrypt≈bool
u~_users
//alter-or-create: create table
//guid
//encryption vs. decryption
//dominant field: login identifier
_shortCorks
cork~text
//alter-or-create: add field
_longCorks
cork~bin
//alter-or-create: add field
5. Prop
tabu~prop32
id≈uni8
//user table
//32-bytes field
___props
s≈__schemes
t≈_tables
pk≈bob
prop~varbyte
//system table on USB-flash
_permissions4outprops
d≈_departments
t≈_tables
r≈_roles
permissions~nat2[3, 2]
//system table in one scheme
//[Pi][Mb,Mb/s,Mb/s][u, r]
6. Twist
tabfld1≈uni4
fld2/ fld3~bin fld4~tab4
fld5~___twists
___twists
id≈ser2
s~__schemes
forEncrypt~bool
twist~bin
//alter-or-create: create
//primary key
//overlap
//dominant field: twist identifier
//system table on USB-flash
//non-unique field
//encryption vs. decryption
//like “long cork”
7. Sharding
//triggers “⬚In, ⬚Ed, ⬚As,//
⬚De, ⬚Va, ⬚Pi, ⬚Sha”
_bases
id≈uni2
address~bob
//IP-address, DNS-name, etc
8. Neutralization
//neu datatype: 239…128 > 127…64 > 63…0 > 239…128_bases
usr, pwd, cookie~text
bases2⊃_bases
//testator key
tab⇒bases2
fld1≈uni2
fld2~neu1
//acceptor key
//primary key
//version of tuple
9. Steping
bases3⊃_bases //testator keytabl⇒bases3
//acceptor key
fld1≈uni2
fld2~step
10. Palpation by nisba, by token
tab←db1@tabtab←m1@tab
//by nisba db1 to default base
//db1,db2 to default
_tokens⊃_bases
id≈ser2
nisba~text≠“all”
//testator key
//null allowed
//constraint
_tokens←{1,“db1”,}{2,“db2”,}{3,“db3”}{4,“db4”}
$@@tab←db1@tab #fld=$
//by token
11. Palpation by mobs
_mobsnisba≈text≠“all”
dest≈text←“all”
mob≈text ≠“all”
//system table in one scheme
//constraint
//default value
//constraint
_mobs←{“db1”, “m1”}{“db2”, “m1”}{“db1”, “m2”}{“db3”, “m2”}{“db4”, “m2”}
m1@tab ←m1@tab
//db1,db2 to db1,db2
m1@tab ←m1@@tab
//db1 to db2, db2 to db1
delete(_mobs)
//delete all tuples
_mobs←{“db1”, “m3”, “db2”}{“db2”, “m3”, “db3”}
{“db3”, “m3”, “db4”}{“db4”, “m3”, “db1”}
m3@tab ←m3@tab
//db1 to db2, db2 to db3, db3 to db4, db4 to db1
12. Mailing
bases4⊃_bases//testator is “_bases”
tab
fld1≈uni2
fld2~bases4
//primary key
//destination for tuple
13. Stack, queue
var2:{fld2}↫var1:{fld1}//var1:{fld1}←var2:{fld2}
//var2:{fld2}←var1:{pk}
//gaff tuple, roll tuple
var1:{fld1}⤺var2:{fld2}
//var1←var2:{fld2}
//var2{fld2}←var1:{fld1}
//var1:{fld1}←Null
var1:{fld1}⤶var2:{fld3}
//var1←var2:{fld3}
//var2:{fld3}←tab1{pk} #tab1{fld1}=var1:{pk}
14. Medal (datatype)
tabfld1, fld2, fld3~int4
fld4~5
fld5~tab5{fld5}
fld6~tab6
fld7~own
fld8~db1@sch^tab8
//alter-or-create: create table
//three fields of same datatype
//5-bits field
//field with datatype of another field
//regular key to “tab6”
//regular key to “tab” itself
//“tab8” in scheme “sch” of base “db1”
15. Variables
var1~int2var4~7
var5~tab99{fld99}
var6~tab6
var10←10
//7-bits variable
//variable with datatype of field
//variable may refer only to “tab6”
//minimal datatype: nat1
16. 4 types of foreign keys
tabfld9~tab9 #
fld10~own #
//alter-or-create: alter table: add fields
//bit key to “tab9”
//bit key to “tab” itself
tab1
fld1~any
fld2~_tables
//alter-or-create: create table
//spur key to simple primary key
//dominant field: where is primary key from
tab3
fld1~any
fld2~_fields
//alter-or-create: create table
//flan key to some column
//dominant field : where is column from
17. 3 types of table reference
tab1⇒tab2, tab3tab1⇏tab2
//add acceptor reference
//remove acceptor reference
tab1⇐tab4, tab5
tab1⇍tab4
//add donor reference
//remove donor reference
tab1⊃tab6, tab7
tab1⊅tab6
//add testator reference
//remove testator reference
18. Tankers (clouds, stocks, socnets) for foto and video
_tankers ⊃_bases//testator key
album~text
//folder, album, playlist
overall, vacant~float4
//read-only, filled by plugin: space
onlyFoto, onlyVideo~bool //read-only, filled by plugin
pingBeforeReturn~bool←true
pingAfterUpload, invisibleInAlbum, stopUsing~bool←false
film⇒_tankers
id≈uni8
clip~link
film{clip} ⤥ head.* #head{pk=8}
head.*⤦film{clip} #film{id=10}
//acceptor reference
19. Fonding for departments and whole shemes
_bases5⊂*_basesdep~_departments
period~datatime[3]
fond(“depname”)
flash(“depname”)
stop(“depname”)
//for blocks, for log, and for snapshot
20. Several tables on the screen –
operator “snake” for treeWorkshops.Persons↯ # {idshop}=2
21. ER-modeller
operator “snake” for system tables_tables
name~text
id~~uni4
host~step
//system table in one scheme
_fields
order~nat1
name~text
//system table in same scheme
//serial number inside table, e.g. offset
_tables._fields↯
//result of “alter table”
22. Electronic table –
operator “snake” for field “any”sheets
name~text
id~~uni1
//predistant table
//name of sheet
cells
value~any
a1, a2~nat2
s~sheets
//distant table
//value of pilule
//x-, y- coordinate of pilule
⧼a.b.c. ⧽ sheets.cells ↯
a.b.c.sheets.cells ↯
a.* ↯
//the same
//the same
23. Syndicates
24.
Speaker seeksfree help of software engineers:
to implement GPL compiler;
to write schemes for foto, video, audio
formats;
to create ttf-file with syndicates (it will
be like font “Fira Code”)
25. Write a letters
26. The end
27. Wolei (WOfal LAYout)
Details of Wolei are in separate projectOf World Phonemic Alphabet “Wofal”
28. BAM (BAiteme-Morpheme encoding)
Details of BAM are also in separate projectof World Phonemic Alphabet “Wofal”