Impeller
Introduction
Departments
Corks
Prop
Twist
Sharding
Neutralization
Steping
Palpation by nisba, by token
Palpation by mobs
Mailing
Stack, queue
Medal (datatype)
Variables
4 types of foreign keys
3 types of table reference
Tankers (clouds, stocks, socnets) for foto and video
Fonding for departments and whole shemes
Several tables on the screen –
ER-modeller
Electronic table –
Syndicates
Write a letters
The end
Wolei (WOfal LAYout)
BAM (BAiteme-Morpheme encoding)
438.34K
Categories: programmingprogramming databasedatabase

Impeller. Database programming language

1. Impeller

Database programming language

2. 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

_departments
name~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

_ciphers
skin~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

tab
u~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

tab
fld1≈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 key
tabl⇒bases3
//acceptor key
fld1≈uni2
fld2~step

10. Palpation by nisba, by token

tab←db1@tab
tab←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

_mobs
nisba≈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)

tab
fld1, 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~int2
var4~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

tab
fld9~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, tab3
tab1⇏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⊂*_bases
dep~_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 tree
Workshops.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 seeks
free 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 project
Of World Phonemic Alphabet “Wofal”

28. BAM (BAiteme-Morpheme encoding)

Details of BAM are also in separate project
of World Phonemic Alphabet “Wofal”
English     Русский Rules