0% found this document useful (0 votes)
59 views10 pages

The Effect of Horizontal Database Table Partitioning On Query Performance

This document discusses the effect of horizontal database table partitioning on query performance. It investigates three partitioning strategies: zero partitioning, list partitioning, and range partitioning. The study uses tables from a student information system to test query response times on databases of different sizes. The results show that partitioning provides better response times than no partitioning. Range and list partitioning strategies showed little difference in performance across different database sizes.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
59 views10 pages

The Effect of Horizontal Database Table Partitioning On Query Performance

This document discusses the effect of horizontal database table partitioning on query performance. It investigates three partitioning strategies: zero partitioning, list partitioning, and range partitioning. The study uses tables from a student information system to test query response times on databases of different sizes. The results show that partitioning provides better response times than no partitioning. Range and list partitioning strategies showed little difference in performance across different database sizes.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/297764812

The effect of horizontal database table partitioning on query performance

Article · January 2016

CITATIONS READS
6 2,163

2 authors, including:

Suleiman H. Mustafa
Yarmouk University
23 PUBLICATIONS   242 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Joint programs and framework for doctoral education in software engineering - THE «PATHWAYS TO PHD» - PWS@PHD View project

All content following this page was uploaded by Suleiman H. Mustafa on 20 July 2016.

The user has requested enhancement of the downloaded file.


1

The Effect of Horizontal Database Table Partitioning


on Query Performance
Salam H. Matalqa & Suleiman H. Mustafa
Faculty of Information Technology and Computer Sciences
Department of Computer Information Systems
Yarmouk University, Irbid, Jordan
[email protected] & [email protected]

Abstract
-----------------------------------------------------------------------------------------------------------------------------------
The need for achieving optimal performance for database applications is a primary objective for database designers and a primary
requirement for database end users. Partitioning is one of the techniques used by designers to improve the performance of
database access. The purpose of this study was to investigate the effect of horizontal table partitioning on query response time
using three partitioning strategies: zero partitioning, list partitioning and range partitioning. Three tables extracted from the
Student Information System (SIS) at Yarmouk University in Jordan were used in this research. Variation in table size was used to
determine when partitioning can have an impact (if any) on access performance. A set of 12 queries were run over a database of
three different sizes. The results indicated that partitioning provided better response time than zero partitioning, on the other hand,
range and list partitioning strategies showed little performance differences with the different database sizes.
-----------------------------------------------------------------------------------------------------------------------------------
Keywords:
Table Partitioning, Horizontal Partitioning, Range Partitioning, List Partitioning, Database Performance.
-----------------------------------------------------------------------------------------------------------------------------------

1. Introduction All information systems (ISs) such as


telecommunication systems, banking systems,
Useful, accessible, and timely information has always educational systems, health-care systems, and others
been a great power for those who have it and use it depend on the management of data, and how to deal
efficiently. As such, gathering, managing, accessing and efficiently with the huge piles of data. Nowadays, we are
analyzing information have evolved to be a critical issue living in an information era with tons of music, photos
for the success of any kind of organization. With the and videos. The task of data storing, sharing, organizing,
rapid development of information technology, more and and manipulating has become a challenge one. Hence,
more large-scale application systems will generate vast database management systems are considered the
amounts of data. Big data or massive data refers to the backbone and the heart of any application in our daily
amount of data that cannot be captured, managed, lives [14].
processed, by the current mainstream software [20]. For any application that is already running in a
production or for any new project that we are starting,
Based on the International Data Corporation (IDC) performance is one of the most important aspects that
results, they show that the data produced in 2008, 2009, should be taken into consideration. For database
2010 and 2011 by everyone is equal to more than designers, achieving optimal performance is the primary
200GB. By the end of 2012, the amount of data rose objective, while for database end users it is a primary
from the TB (1024GB=1TB) level to PB requirement. Developing and improving database
(1024TB=1PB), EB(1024PB=1EB) and ZB performance is a cycling activity that should be included
(1024EB=1ZB) level [21]. By 2020, it is expected that in each development stage. However, no recipe exists for
the whole world generated data size will reach 44 times designing perfect databases, but some techniques and
today. Consequently, big data tables will bring a great tips can improve the quality of the design, such as
deal of performance pressures to application systems and indexing techniques and query optimization [10].
a big risk in database management [19].
2

One of the most important aspects of physical database organize unordered and unrelated sets of data in a natural
design is table partitioning which has significant impact way.
on database performance and manageability of data.
Partitioning subdivides a database object (table, an index Finally, hash partitioning maps data to partitions based
or an index-organized table) into smaller pieces. Each on a hashing algorithm that Oracle applies to the
piece of the database object is called a partition which partitioning key that we identify. Each partitioning
has its own name, and may optionally have its own strategy has different advantages and design
storage characteristics. We divide database objects using consideration, such that each strategy is more
a partitioning key, which is a set of columns that appropriate for a particular situation. Figure 1, shows a
determine in which partition a given row will be located simple representation of the three horizontal partitioning
or stored. techniques [4].

According to [3], the three major benefits acquired from These three techniques are usually described as one-level
partitioning are the high performance (fast query partitioning approach. On the other hand, the three
response time), manageability (divide and conquer techniques can be combined in different ways in what
approach) and availability (independency of partitions). known as composite (multi-level) partitioning.
Furthermore backup and recovery operations can be Combinations include Range-range, range-hash, range-
done more efficiently and effectively with partitioning. list, list-range, and others.
There are three strategies for partitioning tables or There are some suggestions or situations for when it is
entities: horizontal, vertical or mixed (hybrid). more suitable to partition a table. A general advice is to
Horizontal partitioning allows access methods such as partition when table size is greater than 2 GB. A
tables, indexes and materialized views to be partitioned candidate situation for partitioning is when a table
into disjoint sets of rows that are physically stored and contains historical data so that the new data is added into
accessed separately. It affects performance as well as the newest partitions [4].
manageability. On the other hand, vertical partitioning
allows a table to be partitioned into disjoint sets of The powerful functionality of Oracle partitioning solves
columns, and since many queries access only a small the problems and negative impacts of big data tables. It
subset of columns in a table, vertical partitioning can is driven by and depends on business requirements.
reduce the amount of data that needs to be scanned to However, Oracle somehow does not provide clear
answer the query [1]. differentiation between query response time measures,
Mixed or hybrid partitioning is a combination of both since it needs very huge data set to see the
types of partitioning, in which the table is divided into differentiation. As such, Microsoft SQL Server platform
arbitrary blocks based on the needed requirements. It has been used in this study.
consists of horizontal partitioning followed by a vertical
or a vertical partitioning followed by horizontal, when This paper presents the results of investigating the effect
the schema is not be sufficient to satisfy the of horizontal partitioning on query performance. Two
requirements by only one of them [6]. It is the most strategies of partitioning (namely, range and list
complex strategy and needs more management. partitioning) have been used and their performance has
been compared with no partitioning. It is organized as
Horizontal partitioning is the most commonly used follows: section two presents some related works,
approach. Oracle offers three fundamental data section three presents the methodology used in the study,
distribution methods: range, list and hash. Range section four discusses and evaluates the results, and
partitioning is the most common type of horizontal finally section five is devoted for the conclusion.
partitioning, which maps data into partitions based on
ranges of values of the partitioning key that we select for 2. Related Work
each table.
Round-robin partitioning (in which every tuple inserted
In comparison, list partitioning is based on specifying a will be assigned to a different fragment or partition so
list of discrete values for the partitioning key that that rows will be distributed evenly and in a ring
enables us to explicitly control how rows map to fashion), hash partitioning, and range partitioning are the
partitions. It has an advantage in that we can group and
3

most popular horizontal approaches used [12]. In databases. They considered the problem of horizontally
general, hash based partitions are good for clustering partitioning data on a set of resources. A methodology
only when the queries contain equality predicates on the was proposed for determining the access parameters that
partitioning attributes. On the other hand, BigTable are performed over different portions of data, and the
presented by [9] and PNUTS presented by [11] use key- concepts required for the determination of the relevant
based range partitioning. one were identified. The general partitioning problem
was formulated in three specific application
Horizontal partitioning or fragmentation using min-term environments, showing that the solution models require
predicates was first introduced by [7] for distributed exactly the concepts and parameters introduced.

Figure 1: Horizontal partitioning techniques: List, Range and Hash [22]

Cheng et al. presented a fragmentation approach in [9] In the previous research studies, type and frequency of
based on a genetic algorithm (GA) to achieve high queries were important for applying partitioning
database retrieval performance, by treating horizontal solutions. However, for a distributed system, these
fragmentation as a travelling salesman problem (TSP). solutions are not suitable at the initial stage of a database
They also proposed three new operators for GAs. The design. Khan and Hoque have presented a fragmentation
experimental results indicated that these operators technique in [15] for partitioning tables that can be
outperformed other operators in solving the TSP. The applied at the initial stage as well as in later stages of a
data partitioning problem was solved by applying this distributed database system. This technique depends on
proposed GA, and the computational study showed that the use of Attribute Locality Precedence (ALP) which
their GA outperforms well for this application. means fragmenting a relation horizontally based on
locality of precedence of its attributes. ALP represents
Ma et al. presented a heuristic approach in [16] for using the value of importance of an attribute with respect to
derived horizontal fragmentation, which depends on a sites of distributed database. Database designer is
cost model for analyzing the cost of queries. They responsible for constructing an ALP table for each
wanted to provide a tractable approach to minimize the relation of a DDBMS during database design stage.
query processing costs by performing horizontal CRUD (Create, Read, Update, and Delete) matrix and
fragmentation and fragment allocation simultaneously. cost functions are used in combination with the ALP
Some experiments were conducted to verify their table. Results showed that for relational databases in
algorithm. The results showed that this heuristic distributed systems, this proposed technique can solve
approach outperformed the traditional approaches in initial fragmentation problems properly.
terms of system performance. But, they observed that the
processing time spent in testing their approach was In the design phase of distributed databases, improving
similar to that spent in using the traditional approach. performance is an important aspect to take into
The improvement of performance was not significant, consideration. Horizontal partitioning has an important
but for some other database instances and queries, they impact in achieving this performance need. Distributed
expected better performance improvements. databases are becoming very popular nowadays. In the
view of [6], making proper fragmentation for relations
4

and allocating fragments are not easy tasks. Many for applying horizontal partitioning over these systems.
techniques have been proposed by the researchers, such They applied both horizontal and vertical ideas for
as using empirical knowledge of data access and query relational systems, such that in the context of horizontal
frequencies, but doing proper fragmentation and partitioning of an object model, they identified vertical
allocation at the initial stage of a distributed database has partitioning and allocation simultaneously. They used a
not yet been addressed. Bhuyar et al. have proposed a cost model to minimize the global fragmentation and
fragmentation technique in [6] to partition relations allocation costs, and used simulation to validate the
properly at the initial stage for distributed databases proposed approach. Compared to most recent affinity-
when no data access statistics and query execution based horizontal partitioning, the study proved that the
frequencies are available. Their Results were similar to proposed approach was simpler and had less cost.
those of [15]. They demonstrated that the proposed
technique can solve initial fragmentation problem of Silva et al. studied and proposed guidelines in [18] to be
relational databases for distributed systems properly. used in XML databases when applying a fragmentation
design algorithm, with the aim of increasing query
Ezeife and Barker reviewed the taxonomy of class processing performance. They used broader aspects that
models in [13] for the fragmentation problem in the could be further considered during the fragmentation
distributed object database, and presented a design. Experiments were performed over different sizes
comprehensive set of algorithms for horizontally of XML databases to assess how data growth impacts the
fragmenting this taxonomy of class models. Their performance of query processing. Their experiments
approach starts with generating primary horizontal showed that there are performance gains obtained from
fragments for a class, based on only applications that the fragmentation process for frequent queries, compared
access this class. Next it generates derived horizontal to the results obtained in the centralized environment.
fragments that arise from primary fragments of its They obtained gains even for queries that did not apply
subclasses, such as its complex attributes (contained over fragments. A set of recommendations were
classes), and/or its complex methods classes. Based on suggested for choosing the best type of horizontal
the queries accessing the class, primary horizontal fragmentation to be applied to a particular XML
partitioning was performed using predicates of these databases.
queries.
Mahboubi and Darmont worked on XML warehouse
Derived horizontal partitioning for a class was based on fragmentation in [17]. They proposed the use of derived
the horizontal partitioning of another class. The sets of horizontal fragmentation over XML contexts. They also
primary and derived fragments of each class were compared the two primary horizontal fragmentation
combined to produce the best possible fragmentation methods: predicate construction and affinity-based
scheme. Thus, their algorithms support inheritance and fragmentation. Their experiments confirmed that derived
class composition hierarchies, as well as nesting horizontal fragmentation improved query response time
methods among objects. They have been shown to have significantly, and in all their experiments, the affinity-
polynomial time. based fragmentation clearly outperformed predicate
construction. They claimed that this had never been
Bellatreche et al. presented some algorithms in [5] for demonstrated before as far as they know, even in the
both primary and derived horizontal partitioning. They relational context.
discussed the problems of localization of fragments for
queries, and the migration of objects for updates. These
two issues are important aspects for supporting database
3. Methodology
operations on a partitioned database. For a given query, In this study, a database consisting of three tables was
the horizontal fragments that result from this query can used to perform and evaluate partitioning strategies. The
be identified easily with fragment localization, and if we three tables represent part of data about courses and
need to migrate an object form one fragment to another course sections offered at Yarmouk University in Jordan.
due to updates, we deal with object migration issues. A set of SELECT queries were used to determine which
Finally they showed the benefits of horizontal of the two strategies would achieve better performance.
partitioning for query processing. Queries were run over these tables, once without table
partitioning and once with table partitioning.
For object oriented distributed database systems
(OODD), Areed et al. proposed a new algorithm in [2]
5

For each partitioning strategy, queries were run three used as a range partitioning key, and the attribute Taken
times over different sizes of tables. By doing so, we was used as a list partitioning key.
aimed to explore the effect of table partitioning
strategies and table size on query response time. Finally for COURSE_SECTION, the section time
attribute (Sec_Time) was used as a range partitioning
The dataset used in this study was extracted from the key, and the section days attribute (Sec_Days) as a list
student information system (SIS) at Yarmouk University partitioning key. Table 1 and Table 2 show the
(YU) [21]. Only three tables were selected for this distribution of records for each partitioning strategy
purpose: the first table contained information about using three different table size versions.
courses registered by the students at the College of
Information Technology, the second table stored The set of queries used in this study are listed in
information about their degree plans and the third table Appendix I. As Table 3 shows, most queries require
was used for course sections. inner joins between two tables or more. They were
designed to retrieve records based on conditions that
The data was exported to an Excel sheet then imported combine the partitioning attribute keys. The purpose was
to three databases in MS SQL server platform. Figure 2 to show which partitioning strategy would provide better
presents a partial conceptual schema for these three performance for each query in terms of response time.
tables. The tables representing this schema are as Some queries, like the third and the sixth, retrieve
follows: records based on conditions that combine partitioning
T1: STUDENT (S_ID, F_Name, L_Name, B_Date) attribute keys form multiple tables (Inner JOIN
T2: CORSE (C_ID, C_Name, Credits) conditions). This was intended to show if Range
T3: TAKES (S_ID, C_ID, Taken, Prerequisite) partitioning strategy or List partitioning strategy would
T4: COURSE_SECTION (Sec_ID, Sec_No, Room, be better for each of the two relations: TAKES and
Room_Size, Instructor, Sec_Days, Sec_Time, C_ID) COURSE_SECTION.
Initially, each table had about one thousand records. The twelve SELECT queries were executed over the
Then, to show the effect of various partitioning three database versions with different sizes, using the
strategies, the size was increased twice for the two tables same table structures and attribute partitioning keys.
to be partitioned: TAKES and COURSE_SECTION. As Each execution covered the three partitioning strategies:
such, three database versions were implemented: The No partitioning, Range partitioning, and List
first version included about one thousand records for partitioning. As shown in Table 1 and Table 2, the
each of these two tables, the second version included difference between these three experiments was only in
about four thousand records for each, and the third the database size. In the first the database contained
contained about nineteen thousand records. about three thousand records, while in the second and
third executions the size was increased for tables:
The courses table was not partitioned, since it contained TAKES and COURSE_SECTION.
no suitable candidate partitioning keys for Range
partitioning. For TAKES, the student ID attribute (S_ID)
was

Figure 2: Partial ER diagram extracted from the student registration subsystem at YU


6

Table 1: No of records contained in each partition for the table: TAKES


# records (Range # records (List
Table Size # records (No Partitioning (S-ID)) Partitioning (Taken))
Version partitioning)
Partition 1 Partition 2 Partition 1 Partition 2

Size 1 1192 609 583 328 864

Size 2 4768 2436 2332 1312 3456


Size 3 19072 9744 9328 5248 13824

Table 2: No of records contained in each partition for the table: COURSE_SECTION


# records (Range # records (List
Table Size # records (No partitioning (S-Time)) partitioning (S_Days))
Version Partitioning)
Partition 1 Partition 2 Partition 1 Partition 2

Size 1 1130 655 475 647 475


Size 2 4520 2620 1900 2588 1900

Size 3 18080 10480 7600 10352 7600

Average response time (ART), as defined bellow, was In comparison, when the size of tables being partitioned
used as measure of performance for comparing the three was scaled up to more than four thousand records, we
partitioning strategies. Response time has been defined could notice some difference in performance between
as the elapsed time in milliseconds from the moment that range partitioning and list partitioning. As Figure 4
a query is entered at the interface to the time that the show, range partitioning outperformed list partitioning in
application indicates the query has completed and results the average response time with about 18% difference.
shown. As in the previous case, both partitioning strategies
n provided better response time performance than no
ART = ( ∑ RT ) / n partitioning. Improvement realized was about 15-30%.
i=1
Where, ART: Average response time, RT: Response When the database was scaled up to about eighteen
time for each query., i: Query number, and n: Number thousand records for each table partitioned, the results,
of queries. as exhibited in Figure 6, showed no real difference
between range partitioning and list partitioning. What is
3. Results and Evaluation also more notable is that the difference in performance
between no partitioning and partitioning is relatively
Figure 3 presents the results of executing the queries small. As Figure 5 shows, the average response time of
using a database of about three thousand records. The partitioning provides only about 15-18% improvement
results indicate that partitioning exhibits better over no partitioning.
performance in terms of response time than no
partitioning, with about 18-22% improvement. However, There are no other results from previous research to
range partitioning and list partitioning provided almost compare with. One might assume that range partitioning
similar results. This might be attributed to the relatively and list partitioning behave similarly in performance in
small size of database tables used in this query execution view of the kind of database tables used and number of
round. queries used regardless of the database size.
7

Figure 3: Average response time for the three strategies for the first database size (Size-1)

40
35
Average Response Time

30
25
20
15
10
5
0
No Partitioning Range Partitioning List Partitioning

Figure 4: Average response time for the three strategies for the second database size (Size-2)

300

250
Average Response Time

200

150

100

50

0
No Partitioning Range Partitioning List Partitioning

Figure 5: Average response time for the three strategies for the third database size (Size-3)

4. Conclusion database, type of data, type of queries, frequency of


queries, partitioning attribute keys, etc. The results
Many factors can affect partitioning decisions that reported in this study should be viewed within the kind
would be taken over database tables, such as size of the of data and tables used, the kind and number of queries
used, and the type of partitioning strategy investigated.
8

The tables used in this study have been extracted from Distributed Database", International Journal of
a database, which means that that we are not dealing Scientific and Research Publications, vol. 2, no. 5,
with a full database environment in a real setting. pp 1-7, 2012.
[7] Ceri S., Negri, M. and Pelagatti, G., "Horizontal
Generally the results confirm that partitioning data partitioning in database design", In Proc.
improves query response time over non-partitioning. ACM SIGMOD, Milano, Italy, pp. 128–136, 1982.
Nevertheless, one still should ask how much [8] Chang F. et al., "Bigtable: a distributed storage
improvement is acceptable in view of the overhead cost system for structured data", ACM Transactions on
which results from partitioning. Given the size of the Computer Systems, vol. 26, no. 2, pp 1–26, 2008.
tables used, the results do not show significant [9] Cheng C, Lee, W. and Wong, K., "A genetic
improvement with partitioning. The general algorithm-based clustering approach for database
implication of this is that partitioning should be applied partitioning", IEEE Transactions on Systems,
for only when we have reasonably large data tables. Man, and Cybernetics, vol. 32, no. 3, pp. 215–
Moreover, this study considers only select queries. If 230, 2002.
we consider update operations, would an improvement [10] Cioloca C. and Georgescu M., "Increasing
of some level in performance still be realized? Such Database Performance using Indexes", Database
question is important in deciding to go for partitioning. Systems Journal, vol. 2, no. 2, pp 13-22, 2011.
[11] Cooper B. et al., "PNUTS: Yahoo!’s hosted data
In comparing Range partitioning strategy with List serving platform", Proceedings of the VLDB
partitioning strategy, no real difference was shown in Endowment, vol. 1, no. 2, pp1277–1288, 2008.
the results of the study. There is no absolute ultimate [12] DeWitt D and Gray J., "Parallel database systems:
choice or decision for table partitioning for any the future of high performance database
database, in terms of type of partitioning and the systems", Communications of the ACM, vol. 35,
selection of partitioning keys for each table. Each no. 6, pp 85–98, 1992.
strategy can be useful in specific situations. Range and [13] Ezeife C. and Barker K., "A comprehensive
List are not comparable for the same partitioning keys approach to horizontal class fragmentation in a
in a certain table, because each is useful and suitable distributed object based system", Distributed
for specific type of attributes. It might be useful for and Parallel Databases, vol. 3, no. 3, pp 247–
further research on this issue to consider a larger 272, 1995.
number of tables and queries. [14] Idreos S., "Database Cracking: Towards Auto
tunning Database Kernels". Aan de Universiteit
van Amsterdam, geboren te Lesvos, Griekenland,
References 2010 (Thesis).
[1] Agrawal S., Narasayya, V. and Yang, B., [15] Khan S. and Hoque A., "A New Technique for
"Integrating Vertical and Horizontal Partitioning Database Fragmentation in Distributed
into Automated Physical Database Design". Systems", International Journal of Computer
SIGMOD, ACM, Paris, France, pp 359-370, 2004. Applications, vol. 5, no. 9, pp 20 – 24, 2010.
[2] Areed M., El-Dosouki, A. and Ali, H., "A heuristic [16] Ma H., Schewe, K. and Wang, Q., "A Heuristic
approach for horizontal fragmentation and Approach to Cost-Efficient Derived Horizontal
alllocation in DOODB", In Proc. INFOS2008, Fragmentation of Complex Value Databases", In
Cairo, Egypt, pp. 9-16, 2008. Proc. Eighteenth Australasian Database
[3] Baer H., Partitioning in Oracle Database 11g, Conference (ADC 2007), Ballarat, Australia, pp
Oracle, USA, 2007. 103-111, 2007.
[4] Baer H. et al., VLDB and Partitioning Guide, 11g [17] Mahboubi H. and Darmont J., "Enhancing XML
Release 2 (11.2), Oracle, USA, 2010. Data Warehouse Query Performance by
[5] Bellatreche L., Karlapalem, K. and Simonet A., Fragmentation", Proceedings of the 2009 ACM
"Algorithms and support for horizontal class symposium on Applied Computing, New York,
partitioning in object-oriented databases", USA, pp 1555-1562, 2009.
Distributed and Parallel Databases. vol. 8, no. 2, [18] Silva T. et al., "Towards Recommendations for
pp.155–179, 2000. Horizontal XML Fragmentation", Journal of
[6] Bhuyar P., Gawande, A. and Deshmukh, A., Information and Data Management, vol. 4, no.
"Horizontal Fragmentation Technique in 1, pp 27–36, 2013.
9

[19] Singh S. and Singh N., "Big Data Analytics[C]", by students, whose numbers are less than or equal
International Con. on Communication, 2010901150.
Information & Computing Technology 3- Retrieve course IDs, student IDs and instructors for
(ICCICT), Mumbai, India, pp 1-4, 2012. all students whose IDs are less than
[20] Zhu M. and Zhang X., "The Management of Big 2010901100 and their course sections start at 8:00.
Data Tables Based on Oracle Partition 4- Retrieve course IDs and course names for all
Technology", The 9th International Conference courses that were taken by students whose numbers
on Computer Science & Education, Vancouver, are greater than 2010901150.
Canada, pp 570-572, 2014. 5- Retrieve course IDs, section IDs and instructors for
[21] Yarmouk University 1976, Course Schedule of the all course sections that start at 8:00 on the days of
Faculty of Information Techonolgy and Comp. Sunday, Tuesday or Thursday (separately).
Sciences. Retrieved December,9, 2014 from: 6- Retrieve course IDs, section IDs and rooms for all
http://admreg.yu.edu.jo/index.php?option=com_ courses that were taken by students whose course
content&view=article&id=253&Itemid=438 sections held on Sunday, Tuesday and
[22]http://docs.oracle.com/cd/E11882_01/serve.112/e2 Thursday (together) at 14:00 and onward (after
5523/partition.htm that).
7- Retrieve course IDs and course names for all
Salam H. Matalqa obtained her courses that were taken by students, whose IDs are
M.S degree in Computer less than or equal 2010901150.
Information Systems (CIS) in June 8- Retrieve course IDs, course names, and course
2015, from Yarmouk University, prerequisites for all courses that were still not taken
Irbid, Jordan, and her B.S. degree by students whose IDs are greater than
in Computer Information Systems 2010901150.
in January 2009, from the same 9- Retrieve course IDs, student IDs, and instructor
university. Her research interests names for all students whose IDs are greater than
tend to focus on areas of database systems, information 2010901175 and their taken-course sections start at
retrieval and data mining. at 14:00 and onward (after that).
10- Retrieve course IDs, sections and instructors for all
Suleiman Hussein Mustafa is a course sections that were held between 12:00 to
professor of Information Systems 14:00, on the days of Sunday, Tuesday or Thursday
and is currently the Dean of the (together).
Faculty of Information 11- Retrieve course IDs, sections, and instructors for
Technology & Computer Sciences all course sections that start at 8:00 on the days of
at Yarmouk University since Monday and Wednesday (separately).
2/9/2012. He got his Ph.D. from 12- Retrieve course IDs, sections, and rooms for all
the University of Pittsburgh (USA) in 1986. He worked courses that were taken by students whose course
in several universities and was assigned several sections held on Monday and Wednesday
academic and management positions. He has published (together) at 9:00 and before.
more than thirty papers in a number of research areas
in computer science and information systems including
natural language processing, database and information
retrieval systems, and software engineering.

Appendix I
List of Queries Used in the Study
1- Retrieve course IDs and course names for all
courses that were taken by students whose numbers
are greater than 2010901150.
2- Retrieve course IDs, course names, and
prerequisites for all courses that are still not taken

View publication stats

You might also like