Java Reference
In-Depth Information
In practice, you are unlikely to encounter a problem with BCNF, since the purpose of
assigning a unique ID column rather than relying on supposedly unique legacy data is
to prevent problems of this sort.
Law firm data
Having created the tables required to manage the clients, you can move on to setting
up the tables for the law firm itself. However, after a moment's thought, you will
probably realize that the tables you have created will handle all the data for the law
firm, too.
Billable items
In a time and materials invoicing system, there are two kinds of billable items: fees
and expenses. Fees are charged in a number of different ways, the most common of
which is hourly. Expenses are simply charged on a unit basis, as in the case of photo
copies, which are billed per page copied. In either case, the id of the law firm
employee, or timekeeper, making the charge is provided.
The first table required for billable items, then, is the Timekeeper Table. This table
includes a foreign key identifying the individual in the Contacts Table, as well as
columns for level and hourly rate. The LEDES specification defines the following
levels:
 
Partner
 
Associate
 
Paralegal
 
Legal Assistant
 
Secretary
 
Clerk
 
Other
These levels are best stored in a Lookup Table of billing levels , accessed by a foreign
key in the Timekeeper Table. Hourly rates, too, should be stored in a Lookup Table,
to allow for increases. These two tables contain only an id column and a
corresponding level or billing rate, so they are not shown here. The resulting
Timekeeper Table might look like Table 2-4 .
Table 2-4: Timekeeper Table
id
contact_id
level_code
default_rate_code
1000
2001
1
1
1001
2002
1
2
1002
2007
5
9
Search WWH ::




Custom Search