Database Management
 
Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
User Name:
Password:
Remember me
Go Back   Dev Shed ForumsDatabasesDatabase Management

Reply
Add This Thread To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Thread Tools Search this Thread Rate Thread Display Modes
 
Unread Dev Shed Forums Sponsor:
  #1  
Old June 24th, 2002, 02:41 PM
Entity Entity is offline
Registered User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Jun 2002
Posts: 4 Entity User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: < 1 sec
Reputation Power: 0
Need some DB experts: setting up a MySQL Database for a Curriculum Vitae system...

I work for a department in a University that is looking to update the method which we currently "post" our CVs (Curriculum Vitae; similar to a resume) online. Currently, our professors update their CVs manually, send them to their secretaries, who in turn send them to me. I upload them and add them to our webpage manually.

However, since I've taken over as webmaster, I've been making the push for more dynamic, database-driven sites. We're going to be switching to a PostNuke site soon, so people can add news, etc., on their own, without me having to intervene all over the place. This push for interactive sites has gone to the CV system. So, with that in mind, I'm looking to either program, or help implement, a new CV system that allows professors to directly publish their CVs via our site.

Before I begin on programming this, though, I'm looking for the best way to do it, specifically in developing the database. I'm fairly new to MySQL databases, which is what we are using, so any help here would be appreciated.

Here is what the system will do:

-----

Data is stored in a very granular, detailed style, then is dynamically formatted and delivered via the user's preferred method (PDF, LaTex, HTML, etc). Here is an example of the data:

Professor Jones

Positions:

-Lecturer, Department of Biostatistics, UCLA, Los Angeles, California, 1975
-Research Assistant Professor, Department of Medicine, University of Washington, Seattle, Washington, 1980-84

-----

As you can see, the "Position" category - which is one of several categories within the CV itself - is broken down like this:

[Position]
[Department Name]
[School Name]
[University Name]
[City]
[State]
[Dates Position Held]

As you can see, this is going to be a fairly intricate and complex system. At the moment, I can't figure out the best way to develop it. I hope what I've written isn't too confusing; here is another example to help you understand.

Professor Jones

-Educational Background

  • -School
    -City, State
    -Degree
    -Year
-Positions
  • -subcategories also shown above
-Honors and Awards
  • -Award
    -Year
-Professional Activities
  • -Activity
    -Year

That's the gist of it, but the fields continue after that. The online CVs we will be providing will also have published articles, which would be separated into several subcategories (author(s), title, date, journal name), books, teaching experience, and a number of other categories, each which will have subcategories.

I'm somewhat familiar w/MySQL, as I stated, but this is above my head. Can anyone lend a hand or point me in the right direction? I have some PHP/MySQL books at my side and all summer to program this system, but I can't quite get a grasp on it yet.

a billion (and one) thanks,
Rob

Last edited by Entity : June 24th, 2002 at 02:43 PM.

Reply With Quote
  #2  
Old June 24th, 2002, 04:25 PM
Onslaught's Avatar
Onslaught Onslaught is offline
/(bb|[^b]{2})/
Dev Shed Demi-God (4500 - 4999 posts)
 
Join Date: Nov 2001
Location: Somewhere in the great unknown
Posts: 4,827 Onslaught User rank is Second Lieutenant (5000 - 10000 Reputation Level)Onslaught User rank is Second Lieutenant (5000 - 10000 Reputation Level)Onslaught User rank is Second Lieutenant (5000 - 10000 Reputation Level)Onslaught User rank is Second Lieutenant (5000 - 10000 Reputation Level)Onslaught User rank is Second Lieutenant (5000 - 10000 Reputation Level)Onslaught User rank is Second Lieutenant (5000 - 10000 Reputation Level)Onslaught User rank is Second Lieutenant (5000 - 10000 Reputation Level) 
Time spent in forums: 1 Day 22 h 57 m 29 sec
Reputation Power: 88
Send a message via ICQ to Onslaught
From what I can tell, you have basically layed out what you want for your table designs. They all have one field in common for a foreign key. So you could easily do something like this for table structures:
Code:
create database CurriculumVitae:
create table education (
    reference_no int not null,
    userid varchar(50) not null,
    school varchar(75),
    city varchar(35), 
    state char(2),
    degree char(5),
    year int,
    primary key(reference_no,userid)
);
create table position (
    reference_no int not null,
    userid varchar(50) not null,
    department varchar(25),
    school varchar(75),
    university varchar(75),
    city varchar(35),
    state char(2),
    date_from date,
    date_to date,
    primary key(reference_no,userid)
);
create table honors (
    reference_no int not null,
    userid varchar(50) not null,
    award varchar(50),
    year int,
    primary key(reference_no,userid)
);
create table prof_activities (
    reference_no int not null,
    userid varchar(50) not null,
    activity varchar(50),
    year int,
    primary key(reference_no,userid)
);
The reason why I layed it out with two primary keys for each table is that so you can have multiple entries for each user and the primary key remains unique for each user. Userid should correspond to the table in which you keep faculty information in. Then you have a common link between all different tables to reference against. It would be easy enough to add extra tables and keep inside of the database layout.

Reply With Quote
  #3  
Old June 25th, 2002, 07:21 AM
MattR MattR is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Jun 2001
Location: High above the mucky-muck (Columbus, OH)
Posts: 266 MattR User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: < 1 sec
Reputation Power: 7
Send a message via ICQ to MattR
Remember to think of 'entities' and model those out.

I'd have a 'CV' table which stores stuff like first/last name, address, etc. -- rather than having 2 primary keys you can simply make them foreign keys to the CV table which already stores the user info.

Reply With Quote
Reply

Viewing: Dev Shed ForumsDatabasesDatabase Management > Need some DB experts: setting up a MySQL Database for a Curriculum Vitae system...


Thread Tools  Search this Thread 
Search this Thread:

Advanced Search
Display Modes  Rate This Thread 
Rate This Thread:


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
View Your Warnings | New Posts | Latest News | Latest Threads | Shoutbox
Forum Jump

 Free IT White Papers!
 
Accelerating Trading Partner Performance
One in five. That's how many partner transactions have at least one error. That is an amazing statistic, particularly given the extraordinary leaps in innovation across the global supply chain during the past two decades. Download this white paper to learn more.

 
Competing on Analytics
This Tech Analysis is designed to help identify characteristics shared by analytics competitors, and includes information about 32 organizations that have made a commitment to quantitative, fact-based analysis.

 
Cost Effective Scaling with Virtualization and Coyote Point Systems
An overview of the industry trend toward virtualization, how server consolidation has increased the importance of application uptime and the steps being taken to integrate load balancing technology with virtualized servers.

 
Five Checkpoints to Implementing IP Telephony
Implementation planning for IP PBX software and IP telephony has become vital as businesses replace discontinued legacy PBX phone systems. This informative whitepaper outlines five "checkpoints" for any implementation plan that will help make IP communications a successful proposition.

 
Hosted Email Security: Staying Ahead of New Threats
In the last two years, email has become a fierce battleground between the nefarious forces of spam and malware, and the heroes of messaging protection. The spam volumes increased alarmingly every month, bringing clever new forms of phishing and virus propagation attacks.

 

Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
  
 





© 2003-2008 by Developer Shed. All rights reserved. DS Cluster 6 hosted by Hostway