dbTalk Databases Forums  

Looking for a little longer-term (offline) help than a couple of newsgroup replies

comp.databases.ms-sqlserver comp.databases.ms-sqlserver


Discuss Looking for a little longer-term (offline) help than a couple of newsgroup replies in the comp.databases.ms-sqlserver forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Kurt Dicus
 
Posts: n/a

Default Looking for a little longer-term (offline) help than a couple of newsgroup replies - 09-20-2011 , 03:11 AM






Before I even get started, let me apologize for the length of this post. In
two sentences - I'm asking if someone wants to give some (free) counsel and
guidance on a project I'm building. I'm looking for that exquisite and rare
combination of a STRONG senior SQL developer/data modeler who absolutely
LOVES to teach. If this post doesn't apply to you - or if it frustrates you
in some way -- *PLEASE* just mark it read and move on. I would love to
avoid a bunch of negative responses and/or lectures. I've seen some harsh
posts out there when people don't like what they're reading.

--------------------------

I get some absolutely great information from a small number of technology
newsgroups. Bob B. and Erland are amazingly smart about all things SQL.
It's fun to read and learn from other people's posts. So, I had a thought.
I've been looking for a mentor for a while. [[I'm not asking for a mentor
here in a newsgroup]] But, what I absolutely would LOVE is to get a
seriously smart data modeler that I can run my project by. I guess I'm
asking for someone who is a combination of a senior SQL database engineer
(specifically with strong data modeling skills) - BUT ALSO sees themselves
as a teacher-type person. I know there are certain people out there that
receive their own joy out of just helping others -- it's that combination of
the two that I hope to find.

We are only a few days from launching a web-based software site to a beta
group of around 300 people - but I'm looking for advice and guidance for
version 1.1 or 1.2. Honestly, I feel like my v1.0 data model held up pretty
well against all the requirements that were thrown my way for the site
getting ready to launch. On about a 40 table model, I think I had to add
one table, and one field in each of two other tables. I can't share much
here in a public forum, because our product may have national implications
(if a few things go the right way). If the product makes it past this beta
stage, it would find itself as a B2B system that would get licensed,
installed, and integrated into many other companies. So, just to give a
sense of scale, If I were making a wild guess, I could see the final model
having, maybe, ~75 to ~90 tables.?.?. Secondly, the owner of our company
has done some big-time things in the consumer space and has many years of
dealing with licensing and patent issues. Therefore, he's a real stickler
for security and ownership rights. But, on a one-to-one basis, I
could/would share everything that would be helpful.

Why am I asking for help now?? Well, on this project, my developers kept
complaining that my model was "too complex" for the project. I strongly
disagree(d). It held up very well - and the owner of our company has big
plans - I don't want to get stuck re-doing everything in 6 months - and ALSO
having to re-write all the freakin code to a new model. And, honestly,
we're making good use of all the tables - so it doesn't seem like there are
too many at all ------ to me. But, back to my question of "why now"? I
guess I found myself really lacking confidence in pushing back against the
developers who, whether it's true or not, feel like they have more
experience _using_ data models than I have _designing_ them. I mean, I did
do some pushing back - but I'm just really second-guessing myself. If I'm
not right, I'm wasting a bunch of developer time, and worse, I'm
over-complicating my job for years to come as we develop this product out...

I know people in newsgroups like details - and many seem to get particularly
frustrated (and rude even?) if they don't get them. So, I'll try to
articulate and be extremely specific about some of the things I would love
to get help with - and to learn from a senior DB engineer.

* Someone who loves to "teach". I don't have any budget to pay someone, so
I'm looking for that rare crossing of a person who has the technical skills
AND actually derives enjoyment out of learning new things and helping
others.
* Someone who has seriously strong data modeling skills. I'm on SQL Server
2008R2, but I'm not sure the specific DB technology makes a huge difference
in my data modeling request. Now, if we start talking implementation,
someone with Microsoft technology skills might be helpful. But the data
modeling is my first priority.
* I picture sending my data model to someone with a pretty long description
of the "why" I built it the way I did - explaining the business logic and
business implications, some sample data that shows how the pieces fit
together. Actually, now that I'm typing this out - it's occurring to me
that our website will be up - so you will get to just see the database (from
the outside obviously) and some of the business logic in action - with REAL
data. I could also send over a backup of the database through dropbox or
something.
* I'd love to get on the phone a couple of times - maybe using a screen
sharing website and talk through the model - exchange email questions every
once in a while with very specific questions - get advice - ask questions -
hear answers - talk about implications of one idea versus another - get
names of books I should be reading - trusted website resources - the best
data modeling tools that get used by real senior SQL developers -
hmmm...what else? Oh yes, "Been-there-done-that" advice. I guess maybe
this is one of the most important things I'm asking for - someone who can
say, from years of experience: yeah, I know that's what the books and
teachers say, but here's how it works in the real world. Maybe that's it
for now.
* More specifically, when it gets right down to the data model itself, I
have questions like: I make heavy use of "cross tables" for many-to-many
relationships - I even want to learn small things like -- if I were in a
room of senior data modelers - would they laugh at me if I called it a
"cross" table? Or, would that be perfectly fine/normal/expected/etc.? For
my cross tables, I always use something like *x_[table1]_[table2]*. I make
heavy use to "super type" kinds of tables, like, if I have a *list* table, I
will often have a *list_type* table with the #list_type_id# field as a
foreign key in *list*. I use *attribute* tables to combine lots of facts
about things. Another big one, when do -you- make the decision to fit some
new concept into a series of kind-of-generic tables where it would easily
fit versus creating a new series of tables to handle the new concept -
especially when the table names end up sorting of looking very similar.
Again, this one is more about real-world experience == field naming
conventions - there are so many ways you could choose to do this. What
really makes sense on a 5 year long project. What do you find yourself
looking back on 3 or 4 years later and saying - man, I really wish I had
named everything following this convention or that. How to prepare for
scale-up from a small(ish) data model to a much bigger, medium- to
large-scale project. Views/Stored Procs/Triggers, etc. - when, where, why,
how much is too much? Stored Procs - I'd love a quick conversation about
how I'm writing them? Am I completely screwing things up - or am I doing
okay? Since we're a Microsoft shop, the new site is built in MVC (.NET4)
with Entity Framework...so my developers laugh when I implement something
with sprocs. They want to use LINQ against the DB for everything. It does
seem like the right way to go - and I've gotten fairly good with LINQ --
but, again, am I making the right choice? I'd love thoughts from someone
who has real-world experience. As I'm typing this stuff out, I'm realizing
that it could sound very, very, very basic - I mean, how to name fields in a
database?! Come'on, are you kidding me! But, I absolutely know, without a
doubt, that people who have been doing this for years, have learned a thing
or two about what they would do differently if they had a clean slate. It's
that experience I'm looking for...and I know that I'm not getting that from
the books I'm reading - or from developers who have only worked on smaller
projects and don't know any better.
* Currently I use BIDS to move data from a legacy POS/CRM/ERP retail
system. So, although I'm not super sophisticated with BIDS, I am totally
capable of get data moved in and out of systems - but I would love to know
more about how to make sure I'm maximizing my use of this core tool. Again,
I'm not asking for someone to teach me how to use it -- just love to talk
conceptually about when/where/how/why you might introduce this into the
overall platform.
* Then, just see where things go from there. I'm not sure how I could yet,
but I would ABSOLUTELY LOVE to reciprocate in helping someone with anything
I was capable of doing.

Thanks guys and gals -
Kurt
kdicus (AT) dicus (DOT) com
(425) 408-3250 (Seattle area)
[not sure if you can put contact information here!]

Reply With Quote
Reply




Thread Tools
Display Modes

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



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.