Presentation is loading. Please wait.

Presentation is loading. Please wait.

Some Query Languages Peculiarities Vladimir Ovchinnikov, PhD PeculiarityLISA-DConquerSQL Declarative queries+++

Similar presentations


Presentation on theme: "Some Query Languages Peculiarities Vladimir Ovchinnikov, PhD PeculiarityLISA-DConquerSQL Declarative queries+++"— Presentation transcript:

1 Some Query Languages Peculiarities Vladimir Ovchinnikov, PhD (ovch@lipetsk.ru, http://scm.lipetsk.ru) PeculiarityLISA-DConquerSQL Declarative queries+++ Natural names for entities and relations++- GUI for query formulation-+-/+ Semantic nature of result signatures+-/+- Concept-based query formulation (Uselessness of proper relation names) --- Capability of implicit join predicates--- Prohibition of senseless queries-/+-- Capability of queries as concept chains-/+-- Capability of join-like queries formulated as resulting signatures merely --- Some query adaptation without rewriting--- A Concept-Based Query Language Not Using Proper Relation Names

2 General Query Expression Structure Vladimir Ovchinnikov, PhD (ovch@lipetsk.ru, http://scm.lipetsk.ru) Parameters A Concept-Based Query Language Not Using Proper Relation Names Relation Leaf Operation Non-Leaf Operation Leaf Operation Relation Entity Relation Parameters

3 Concept Association Identification Vladimir Ovchinnikov, PhD (ovch@lipetsk.ru, http://scm.lipetsk.ru) A Concept-Based Query Language Not Using Proper Relation Names Association Leaf Operation Non-Leaf Operation Leaf Operation Association Concept Association SCQL SCM

4 Running Example: ER and Relational Models Vladimir Ovchinnikov, PhD (ovch@lipetsk.ru, http://scm.lipetsk.ru) A Concept-Based Query Language Not Using Proper Relation Names Project Project_ID VA30 Person Person_ID Age Phone N N VA80 Task Task_ID N Employee Skill LevelN SkillType SkillType_ID VA30 Project Project_IDVARCHAR2(30) Person Person_ID Age Phone NUMBER VARCHAR2(80) Task Task_ID Project_ID NUMBER VARCHAR2(30) Employee Person_IDNUMBER Skill SkillType_ID Person_ID Level VARCHAR2(30) NUMBER SkillType SkillType_IDVARCHAR2(30) PersonTaskRel Person_ID Task_ID NUMBER PersonProjectRel Project_ID Person_ID VARCHAR2(30) NUMBER

5 Running Example: SCM Model Vladimir Ovchinnikov, PhD (ovch@lipetsk.ru, http://scm.lipetsk.ru) A Concept-Based Query Language Not Using Proper Relation Names Person solves Tasks Person has a Skill Level for a Skill Type [(Person, Skill Type)  Skill Level] Person is of Age  Person has a Phone  Employee is a Person  Project consists of Tasks  Project has a team of Persons Project Task PersonSkill LevelSkill Type Age EmployeePhone

6 Referencing Associations Using Domain Concepts Vladimir Ovchinnikov, PhD (ovch@lipetsk.ru, http://scm.lipetsk.ru) A Concept-Based Query Language Not Using Proper Relation Names Project Task Project consists of Tasks  SCQL:(Project, Task) SQL:SELECT Project_ID, Task_ID FROM Task PersonSkill LevelSkill Type SCQL:(Person, Skill Level, Skill Type) SQL:SELECT Person_ID, SkillType_ID, Level FROM Skill Person has a Skill Level for a Skill Type  The connectivity fact is only used

7 SCQL Composition Vladimir Ovchinnikov, PhD (ovch@lipetsk.ru, http://scm.lipetsk.ru) A Concept-Based Query Language Not Using Proper Relation Names Project Task Person Person solves Tasks Project consists of Tasks  Project has a team of Persons SCQL General Composition: ((Project, Task), (Task, Person)) SCQL Path Composition: (Project  Task  Person) SCQL Star Composition: (Task  [Project, Person,…]) SQL:SELECT t.Project_ID, t.Task_ID, ptr.Person_ID FROM Task t, PersonTaskRel ptr WHERE t.Task_ID = ptr.Task_ID Equivalent Notations

8 Role Concept Vladimir Ovchinnikov, PhD (ovch@lipetsk.ru, http://scm.lipetsk.ru) A Concept-Based Query Language Not Using Proper Relation Names Project Task Person Person solves Tasks Project consists of Tasks  Project has a team of Persons SCQL:(Project(Task’s)  Task  Person  Project(Person’s)) SQL:SELECT t.Project_ID, t.Task_ID, ppr.Person_ID, ppr.Project_ID FROM Task t, PersonTaskRel ptr, PersonProjectRel ppr WHERE t.Task_ID = ptr.Task_ID AND ptr.Person_ID = ppr.Person_ID SCQL:(Project  Task  Person  Project) SQL:SELECT t.Project_ID, t.Task_ID, ppr.Person_ID FROM Task t, PersonTaskRel ptr, PersonProjectRel ppr WHERE t.Task_ID = ptr.Task_ID AND ptr.Person_ID = ppr.Person_ID AND t.Project_ID = ppr.Project_ID

9 Closure Association Closure Mechanism Vladimir Ovchinnikov, PhD (ovch@lipetsk.ru, http://scm.lipetsk.ru) A Concept-Based Query Language Not Using Proper Relation Names Person Age EmployeePhone Project Task SCQL, using the closure:(Employee, Phone) SCQL, not using a closure:(Employee  Person  Phone) SQL:SELECT e.Person_ID, p.Phone FROM Employee e, Person p WHERE e.Person_ID = p.Person_ID Person is of Age  Person has a Phone  Employee is a Person  Person solves Tasks Project consists of Tasks  Project has a team of Persons Equivalent Notations Closure is a predefined association composition

10 2 1 3 Expression Execution Context Vladimir Ovchinnikov, PhD (ovch@lipetsk.ru, http://scm.lipetsk.ru) A Concept-Based Query Language Not Using Proper Relation Names Person Employee Project Task Employee is a Person  Project has a team of Persons Person solves Tasks Project consists of Tasks  Closure 1: Closure 2: Closure 3: Context 1 3 1 2 SCQL:(Employee, Project) SQL:SELECT e.Person_ID, ppr.Project_ID FROM Employee e, PersonProjectRel ppr WHERE e.Person_ID = ppr.Person_ID SCQL:(Employee, Project) SQL:SELECT e.Person_ID, t.Project_ID FROM Employee e, Task t, PersonTaskRel ptr WHERE e.Person_ID = ptr.Person_ID AND ptr.Task_ID = t.Task_ID

11 SCQL Logical Selection Vladimir Ovchinnikov, PhD (ovch@lipetsk.ru, http://scm.lipetsk.ru) A Concept-Based Query Language Not Using Proper Relation Names Task Person Age Person solves Tasks Person is of Age  SCQL: (Task  Person  Age<30) SCQL: ((Task  Person  Age), (Age<30)) SQL:SELECT ptr.Task_ID, ptr.Person_ID, p.Age FROM Person p, PersonTaskRel ptr WHEREp.Person_ID = ptr.Person_ID AND p.Age < 30 Equivalent Notations

12 SCQL Outer Composition Vladimir Ovchinnikov, PhD (ovch@lipetsk.ru, http://scm.lipetsk.ru) A Concept-Based Query Language Not Using Proper Relation Names Task Person Age Person solves Tasks Person is of Age  SCQL: ((Person  Age<30), (Person  Task)+) SCQL: ((Person  Age), (Age<30), (Person  Task)+) SQL:SELECT ptr.Task_ID, ptr.Person_ID, p.Age FROM Person p, PersonTaskRel ptr WHEREp.Person_ID = ptr.Person_ID(+) AND p.Age < 30 Equivalent Notations

13 Context Closure SCQL Association Selection Vladimir Ovchinnikov, PhD (ovch@lipetsk.ru, http://scm.lipetsk.ru) A Concept-Based Query Language Not Using Proper Relation Names Person Age EmployeePhone Person is of Age  Person has a Phone  Employee is a Person  SCQL:(Employee, Phone) SQL:SELECT e.Person_ID, p.Phone FROM Employee e, Person p WHERE e.Person_ID = p.Person_ID SCQL:(Person, Phone) SQL:SELECT p.Person_ID, p.Phone FROM Person p

14 SCQL Minus and Union Vladimir Ovchinnikov, PhD (ovch@lipetsk.ru, http://scm.lipetsk.ru) A Concept-Based Query Language Not Using Proper Relation Names PersonSkill LevelSkill Type Phone Person has a Skill Level for a Skill Type [(Person, Skill Type)  Skill Level] Person has a Phone  SCQL:(Person, Phone) minus (Skill Level=“Experienced”, Skill Type, Person) SQL:SELECT Person_ID, Phone FROM Person MINUS SELECT p.Person_ID, p.Phone FROM Person p, Skill s WHERE p.Person_ID = s.Person_ID AND s.Level = 1 /*Experienced*/

15 Context Closure SCQL Transformation Vladimir Ovchinnikov, PhD (ovch@lipetsk.ru, http://scm.lipetsk.ru) A Concept-Based Query Language Not Using Proper Relation Names Project Person Age Person is of Age  Project has a team of Persons SCQL:(Project  Person  Age).(Project, AVG(Age)) SCQL:SELECT Project, AVG(Age) FROM (Project  Person  Age) SCQL:(Project, AVG(Age)) SQL:SELECT p.Person_ID, AVG(p.Age) FROM PersonProjectRel ppr, Person p WHERE ppr.Person_ID = p.Person_ID GROUP BY ppr.Project_ID Equivalent Notations

16 SCQL Expression Structure Vladimir Ovchinnikov, PhD (ovch@lipetsk.ru, http://scm.lipetsk.ru) A Concept-Based Query Language Not Using Proper Relation Names Operation Category Operation Type Nested Operations ParameterSemantic Resulting Signature Non-LeafCompositionn(no)Union of Nested Sig. Union2(no)Union of Nested Sig. Minus2(no)From First Nested Op Transformation1Resulting Signature Defined Explicitly LeafLogical Selection 0PredicateDefined Explicitly Association Selection 0Role Concept Set Defined Explicitly

17 SCQL Peculiarities Vladimir Ovchinnikov, PhD (ovch@lipetsk.ru, http://scm.lipetsk.ru) A Concept-Based Query Language Not Using Proper Relation Names PeculiarityExample Domain concept usage(Project, Task) Semantic nature of result signatures(Person, Phone) Concept-based query formulation (Uselessness of proper relation names) (Person, Skill Level, Skill Type) Capability of implicit join predicates((Project, Task), (Task, Person)) Prohibition of senseless queriesSQL: … WHERE a.Project_ID = b.Task_ID Capability of queries as concept chains (Project  Task  Person) or (Task  [Project, Person]) Capability of join-like queries formulated as resulting signatures merely Using a context: (Employee, Phone) Some query adaptation without rewriting Different meaning in different contexts: (Employee, Project)

18 Client SCM-Based Client/Server Technology Vladimir Ovchinnikov, PhD (ovch@lipetsk.ru, http://scm.lipetsk.ru) A Concept-Based Query Language Not Using Proper Relation Names SCM KB Client SCM Server RDBMS Data Files Oracle, MSSQL, MySQL,… SCQL 1 Multiuser, Concurrent 2 SCM-RM Mapping Knowledge 3 SQL 4 Relational Data 5 Data 6 SCM Data Implementation at http://scm.lipetsk.ru Hierarchy of XML documents


Download ppt "Some Query Languages Peculiarities Vladimir Ovchinnikov, PhD PeculiarityLISA-DConquerSQL Declarative queries+++"

Similar presentations


Ads by Google