Download presentation
Presentation is loading. Please wait.
Published byKristopher Chambers Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.