Archive

Author Archive

Using ANSI Style SQL

September 5th, 2010
As a software vendor supporting MysQL, Oracle and MS SQL, it is often a challenge to get our developers to write consistent SQL calls for our database abstraction layer. How do we make sure that our queries will work for all 3 databases, easy to read, easy to understand and ultimately easy to support.
A lot of developers choose to work with the old Theta style when writing queries, as it is simpler to understand to begin with, for example
SELECT e.name, d.dept_name, r.region_name
FROM employee e, dept d, region r
WHERE d.id=e.dept_id
AND d.region_id=r.id
AND r.region_name=’EMEA’;
In ANSI style, this is equivalent to
SELECT e.name, d.dept_name, r.region_name
FROM employee e
INNER JOIN dept d on d.id=e.dept_id
INNER JOIN region r on r.id=d.region_id
WHERE r.region_name=’EMEA’;
I took me a while myself to become an ANSI style convert, but once I am used to using it, I can see that ANSI style offers many advantages.
Absolute CLARITY when performing outer joins.
I have worked with databases for close to 19 years, and I always get confused when using (+) in an outer join. An outer join uses a (+) on the side of the operator where we want to have nulls returned of if no value matches (now who can remember that?) ANSI style outer joins is so much more intuitive.
– When t2 might have no value matched
SELECT *
FROM table1 t1
LEFT JOIN table2 t2 ON t1.col1=t2.col1;
– When t1 might have no value matched
SELECT *
FROM table1 t1
RIGHT JOIN table2 t2 ON t1.col1=t2.col1;
– When no value matched could be on either table
SELECT *
FROM table1 t1
FULL OUTER JOIN table2 t2 ON t1.col1=t2.col1;
ANSI makes you think and write better queries
it makes you think about how you want the database engine to process your query. Rather than just stringing all your tables in the FROM clause (like FROM table1, table2, table3, table4) and hope for the best, it makes you think which one is your base table, what filtering you want applied to this table, and then whether a particular join functions as a filtering, or more as an enrichment. In the example below, I am interested to find the skillsets owned by an employee with the name SMITH who works in SUPPORT. So the way to write this query, is to as quickly as possible filter out the data that we do need from the EMP/DEPT table, prior to joining with the SKILLS table.
SELECT e.first_name, e.surname, d.dept_name, s.skill_name
FROM emp e
JOIN dept d ON d.id=e.dept_id and d.dept_name=’SUPPORT’ and e.surname=’SMITH’
JOIN SKILLS s on e.id=s.emp_id ;

Resources-Technical

Take the Tour

July 15th, 2010
I have been asked to review the new “Take the Tour” for Policy Manager

For quite a while now, Claromentis has provided a place for visitors to have a play with Claromentis applications through our demo site. This works really well for some products, such as Intranet/Extranet manager, where features are intuitive and straightforward for users to try out. For other products though, not so straightforward.

I was therefore quite excited to be ask to review our first attempt to produce “Take the Tour” to explain about our Policy Manager product.

Here are some comments that I can share, please feel free to agree or disagree.

  • Loading Time – I first attempted to review the tour from a pub in our local village, via iPad, and found response times quite slow when loading the diagrams within the page. Even though in this occassion, the one to blame is the poor 3G reception, I think it is worth noting, though, that visitors would be discouraged if the tour takes too long to load.
  • Navigation within the Tour – The next thing which strikes me was where to start. Where should I begin, top left corner? In this toour I was presented with a well laid out screenshots of the application, with explanations about different components within each snapshot, however I am stil lost. As a visitor, I would like to be guided with simple numbering which would give me the assurance that I am navigating correctly, and would guide me through a logical order of explanation of the relevant features
  • Videos – If we need to add videos in order to explain some features better, keep each video as concise and short as possible, and no music, please ….

Prod-Quality, Products, Resources-Technical

Enterprise social media

February 18th, 2010

It is common to find an organization to put document management as the core of  its intranet, and to encourage the different team to collaborate,separate workspaces would be assigned to different business areas. And when you arrive at any of workspaces, you will find a windows explorer look alike folders, underneath the shared documents reside. If you know what you are looking for, then you are in luck, otherwise, you might have to spend more time looking.

If an organization is taking the step to implement an intranet to encourage collaboration, to improve knowledge sharing, why go backwards at the same time by choosing to implement it to look like the old method of knowledge sharing via a network drive?

An intranet should not only allow the sharing of information, it should also provide the vehicle for users to easily identify the right information that they need, and the right communication channels to allow the barriers between isolated teams to be broken. Intranet should allow everybody from every part of the company to efficiently and effectively collaborate.

Corporate social networking should be recognized as a platform for employees to meet, to collaborate, to nurture new ideas and to innovate. Organizations which fail to grasp this need risk productivity and creativity drain.

Bring on  Claromentis 6.0 – Innovate, enterprise social media delivered inside the boundaries of your corporate information.

Intranet-Extranet

How Claromentis Spurs Faster Innovation

April 16th, 2009

Having seen various supposedly “best of breeds” of software used by major companies for document management, content management, intranet, collaboration, I am convinced that Claromentis is on to someting truly special.It is a joy to look at, intuitive to use, and most importantly, it  works the way the users want to work, allowing users to focus on what they truly want to do, be it sharing information, collaborating or executing projects. 

At Claromentis, we painstakingly spend the time to understand customer requirement and behaviour, analyzing input from both customers and partners, and feeding that back the information into the design, architecture and development cycle. By continually innovating internally, Claromentis continues to pioneer new ideas and technology, which in-turn drives new business strategies and models to take place within our user communities, spurring innovation to take place faster, whatever their respective goals might be.

With the upcoming Claromentis 6.0, I am truly optimistic that this trend will only continue, giving us even more vindication that we have done something right.

Intranet-Extranet

Fighting a full mailbox – stop sending me large files

October 3rd, 2008

I am currently working at a client site for consultancy work. This morning I came to the client site and spent a frustrated hour cleaning up my mailbox, as I have yet again reached my email quota, and could not send any more emails before I do some cleaning up.

So I set up a small rule for myself. Sort by subject, and if there are any attachments, delete everything by the latest one, that way, hopefully I would end up with the “latest” version…

It never ceased to surprise me how large companies (and my client is one of the largest blue chips in the world) still do not take advantage of Document Management software or Online Collaboration tools. The irony is that these companies bought various tools and software, however they are disparate, IT driven, too complicated to setup, and ended up not being used. And people end up with the frustration of losing files, version confusion, same document duplicated all over the network, and full mailboxes..

Intranet-Extranet ,

Value of integrated information management portal

September 28th, 2008

Various companies spend huge amounts of money, time and effort to get the best of breed intranet applications, and end up with the headache of maintaining them. Information is stored in silos, and extra effort (and cost!) has to be spent in order to allow information to be shared between one application and another.

In contrast, a relatively modest investment in the Integrated Claromentis Intranet Platform ensures that disparate business information is stored in a single integrated and extendable data model, which allows common data to be shared by various applications. On top of that, additional bespoke applications to provide specific business need can be built within the same model to ensure a coherent business focus application environment.

Prod-Intranet , , ,