Extending the Sorting Capabilities of Relational Databases
Intended Audience: |
Managers, Software Engineers, Systems Analysts, Database Analysts and Developers |
Session Level: |
Intermediate, Advanced |
Current relational database management systems (RDMSs), such Microsoft (MS)
SQL Server, have the ability to sort data for major languages, but they do
not have the ability to sort properly for many of the lesser-known
languages around the world. Moreover, MS SQL Server sorting uses MS Windows
collations, and collations cannot be added to Windows. A software developer
is limited by the operating system.
We have chosen to use IBM's International Components (ICU) for Unicode to
address these shortcomings. More specifically, we are using the Collation
Services of ICU. The services can be "tailored" for different languages and
locales; theoretically any language of the world can be sorted. We are
accessing the Collation Services by extending the capabilities of the
database. In the case of MS SQL Server, we do this by means of an "extended
stored procedure". This extended stored procedure is a C++ project compiled
as a dll.
Although MS SQL Server is used in this example, the approach can be used
with other RDMSs. It has the potential to be a powerful factor in bridging
the "digital divide" encountered by many computer users in developing
nations.
|