当前位置: 首页 > 编程日记 > 正文

一套外企的数据库设计面试题

最近发现园子里面关于数据库方面的文章比较多,正好我也是一个喜欢凑热闹的家伙,那就跟着烧一把火吧。^_^

这是前阵子一个朋友面试外企的一套关于数据库设计的试题,有兴趣的朋友不妨一试。

Part I    
 工厂在定义一个新产品的流程如下:

1.  确定产品信息如名字,代号等;
2.  设计部门设计出产品的结构;
3.  在确定结构后就可以得出每个产品所需要的基本零件及其所需的数据。进而可以进行相关财务处理与采购处理。
 
 其相关逻辑如下:

.  对于每一种基本零件都有其相关的型号等资料设定;

.  对于每个供应商也有其相关资料的设定;

.  一个基本零件可以由不同的供应商供应,其价格等资料会有些差异;

.  一个供应商也可以供应多种不同的基本零件;

.  对于一种产品,可以由多个大部件构成,不同的产品有可能由相同的大部件组成;
       例如,某发动机可以是汽车A的一个大部件,也可以是汽车B的一个大部件。

.  在部件结构中,某些部件是由别外一个或多个部件组成的,而所有的部件最终都是由基本零件构成的; 

.  产品大部件只是存放与产品直接相关的最上层部件。


Product(产品)
Supplier(供应商)
Part(基本零件)

product_code
supplier_code
part_code

product_name
supplier_name
part_name

product_desc
address_1
part_desc

created_date
address_2
remark



address_3














Product_comp(产品大部件)
Component(部件结构)
component_supply(零件供应)

product_code
comp_id
supply_id

comp_id
component_code
part_code

number_component
component_name
supplier_code

 
parent_comp_id
price



supply_id
ind_active



number_component
 














Prod_part_supp_detail(产品零件明细)



product_code



supply_id 



number_component



  

Below is a structure example of product 'P_1'

1. 根据理解画出E-R(或UML)联系图;
   2. 写脚本来建立所需要的数据库对象,如表、序列、约束等; 
   3. 为上图所示的产品P_1准备初始化数据(prod_part_supp_detail 除外); 
   4. 编写procedure 或function生成指定产品的产品零件明细清单;
   5. Write a SQL to show the supplier and component detail of product. For amount field, use below logic :

             If the “Amount” < 1000 show “Low”
               
if “Amount” >=1000<10000 show “Middle”
               
else show “High”

The layout is :

Supplier Name                   Part Name                         Necessary Num     Amount                Type
     ------------------                  ------------------                  --------------             ----------------          ----------
     XXXXXXXXXXXXXXXXXX   XXXXXXXXXXXXXXXXXX    9999999999        999999999.99      XXXXXXXXXX 

如果需要用到递归,以下是一个简单示例:

create or replace function get_char_one_by_one(v_str    varchar2)
return varchar2
is
begin
    
if v_str is not null and length(v_str) > 1  then
       
return substr(v_str, 11|| ' ' ||
              get_char_one_by_one(substr(v_str, 
2));
    
else
       
return v_str;
    
end if;
end;
/

set serveroutput on
begin
    dbms_output.put_line(get_char_one_by_one(
'I am good boy'));
end;
/ 

在以下两题中作选一题 
 Part II    
 There are some tables need copy from one oracle user User1  to another user User2.     
 1. The DB structure of source user is compatiable to the target db user (All field in source db user are exists in target db user, but maybe some fields in target db user not in source db user);

 2. No DB Link or privilege granted between those two users;      
 3. No primary key or unique key conflict between those two users' data;      
 4. The records number is not very much (at most 10000 for one table).       
  
 Part III 
 There are some tables need copy from one oracle user User1  to another user User2.     
 1. The DB structure of source user is compatiable to the target db user (All field in source db user are exists in target db user, but maybe some fields in target db user not in source db user);
 2. Can create DB Link or grant priv between those two users;     
 3. No primary key or unique key conflict between those two users' data;     
 4. The records number is not very much (at most 10000 for one table).

相关文章:

持续集成(一)为什么我们迫切需要持续集成

摘录自&#xff1a;http://blog.csdn.net/kkkloveyou/article/details/53875987 为什么我们迫切需要持续集成&#xff08;Continuous Integration&#xff09; 持续集成&#xff08;Continuous Integration&#xff09;&#xff0c;也就是我们经常说的 CI&#xff0c;是现代软…

spark编程基础--5.3数据读写

文件数据读写 1.本地文件系统的数据读写 1&#xff09;从文件中读取数据创建RDD 2&#xff09;把RDD写入到文本文件中 2.分布式文件系统HDFS的数据读写 3. JSON文件的读取 JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于ECMAScript规范的…

试用最新版本的live writer发一篇日志看看

之前装Vs2008想弄WPF的时候&#xff0c;根据网上的说明&#xff0c;找VS2008的SP1&#xff0c;windows SDK的时候颇费周折&#xff0c;虽然说微软上面可以直接下&#xff0c;但是我找了半天才找到&#xff0c;总是觉得麻烦。现在就把一些WPF的相关前期准备软件的地址发出来&…

守护网络安全,我们一直在努力

据外电消息&#xff0c;日前&#xff0c;一种通过发布有关北京奥运会虚假信息的邮件来传播新型网络病毒&#xff0c;正在席卷全球。报道中写道&#xff0c;一封号称内容有关“北京奥运会可能因四川大地震取消和延迟”的电子邮件成为了“新型蠕虫恶意***程序”的源头&#xff0c…

DELPHI 中 Window 消息大全使用详解

Window 消息大全使用详解导读&#xff1a; Delphi是Borland公司的一种面向对象的可视化软件开发工具。 Delphi集中了Visual C和Visual Basic两者的优点&#xff1a;容易上手、功能强大&#xff0c;特别是在界面设计、数据库编程、网络编程方面更有其独特的优势。 Delphi中的消息…

vue 在浏览器控制台怎么调试 谷歌插件vue Devtools

vue 在浏览器控制台怎么调试 谷歌插件vue Devtools 问题&#xff1a; vuejs里面的变量&#xff0c;怎么用浏览器的console查看&#xff1f; 例如&#xff0c;想在chrome里用console.log查看变量$data&#xff0c;会显示undefined。 解决方案: 再main.js里面声明window.Vue new…

spark编程基础--5.4综合实例

操作指令如下&#xff1a; cd /usr/local/hadoop./sbin/start-dfs.sh./bin/hdfs dfs -mkdir -p spark/mycode/rdd/TopN./bin/hdfs dfs -put /usr/local/spark/mycode/TopN_file1.txt spark/mycode/rdd/TopN ./bin/hdfs dfs -put /usr/local/spark/mycode/TopN_file2.txt spark…

关于C#中的DLLImport (引)

MSDN中对DllImportAttribute的解释是这样的&#xff1a;可将该属性应用于方法。DllImportAttribute 属性提供对从非托管 DLL 导出的函数进行调用所必需的信息。作为最低要求&#xff0c;必须提供包含入口点的 DLL 的名称。 并给了一个示例&#xff1a; [DllImport("KERNEL…

Bootstrap框架和inconfont、font-awesome使用

Bootstrap框架和inconfont、font-awesome使用 iconfont的使用&#xff1a;https://www.cnblogs.com/clschao/articles/10387580.html Bootstrap介绍 Bootstrap是Twitter开源的基于HTML、CSS、JavaScript的前端框架。 它是为实现快速开发Web应用程序而设计的一套前端工具包。 它…

spark编程基础--6.DataFrame

使用spark安装时自带的样例数据people.json文件&#xff0c;生成DataFrame&#xff1a; 下面从示例文件people.json中创建一个DataFrame&#xff0c;然后保存成csv格式文件&#xff0c;代码如下&#xff1a; scala> val peopleDF spark.read.format("json").loa…

firebug 的使用

[Firebug - Console控制台视图] console API文档, http://www.getfirebug.com/console.html console.info显示(i)图标 在输出时&#xff0c;需要注意第一个参数被自动识别为格式字符串 需要在页面加载前启动firebug&#xff0c;当页面加载后启动firebug时&#xff0c;就没有…

cisco PIX防火墙的配置及注解完全手册

PIX Version 6.3(1)interface ethernet0 auto 设定端口0 速率为自动interface ethernet1 100full 设定端口1 速率为100兆全双工interface ethernet2 auto 设定端口2 速率为自动nameif ethernet0 outside security0 设 定端口0 名称为 outside 安全级别为0nameif ethernet1 insi…

C/C++:*(p++)慎用!!!!!

各位代码界的大佬大家好&#xff0c;今天跟大家分享一个在C/C中常用&#xff0c;但是很危险的一串代码——*(p) 为什么说这一行代码比较危险呢&#xff0c;因为对于C/C来说&#xff0c;成也指针&#xff0c;败也指针。C/C中指针便于我们操作一块连续的内存空间中内容&#xff0…

Kindeditor学习中的那些坑

Kindeditor富文本编辑器还算比较好上手的一款插件吧&#xff0c;下面记录一下我在学习和实践中遇到的那些坑。 编辑器初始化方法和参数网上一搜一大把&#xff0c;不想搜的点这里&#xff0c;文档上各个参数已经写得很清楚了&#xff0c;直接拿过来用就OK 开始说一些实际用到时…

java2实用教程--第二章基本数据类型与数组

基本数据类型--浮点类型 public class Example2_1 {public static void main (String args[]) {char chinaWord 好,japenWord あ;char you \u4F60;int position 20320;System.out.println("汉字&#xff1a;"chinaWord"的位置&#xff1a;"(int)china…

EntityCURD操作的参数和返回值

以下是netbeans根据实体自动生成的CURD模板&#xff1a;/** To change this template, choose Tools | Templates* and open the template in the editor.*/package com.medea.order.session;import com.medea.order.entity.Storeorder;import java.util.List; import javax.ej…

[ZT]SQL Server 的事务日志意外增大或充满的处理方法

http://support.microsoft.com/kb/317375 事务日志文件Transaction Log File是用来记录数据库更新情况的文件&#xff0c;扩展名为ldf。在 SQL Server 7.0 和 SQL Server 2000 中&#xff0c;如果设置了自动增长功能&#xff0c;事务日志文件将会自动扩展。一般情况下&#xff…

powershell真香

写毕设开题报告&#xff0c;从PDF复制后会有多余空格&#xff0c;一个一个手动删除略显麻烦。 delete.cpp#include<iostream> #include<cstdio> #include<string> #include<vector> using namespace std; int main() {//freopen("UAS.txt",&…

背包的硬币问题

在一个国家仅有1分&#xff0c;2分&#xff0c;3分硬币&#xff0c;将钱N兑换成硬币有很多种兑法。请你编程序计算出共有多少种兑法。 HDU 1284 #include <iostream> using namespace std;const int M 32768 10;int dp[M];int main() {int n;while (~scanf("%d&q…

【转帖】OnPreRender Render的区别

转自&#xff1a;http://hi.baidu.com/trip008/blog/item/d6139ab77b5414f130add1e9.html protected override void OnPreRender(EventArgs e) protected override void Render(HtmlTextWriter writer) 这两个的区别。可否告知 asp.net页面在触发各个子控件的事件之后&#…

微信小程序如何进行登录授权和获取用户信息

微信小程序如何进行登录授权和获取用户信息

禁止windows系统的自动运行功能

禁用Windows 系统的自动播放功能的方法&#xff1a;在运行中输入 gpedit.msc 后回车&#xff0c;打开组策略编辑器&#xff0c;依次点击&#xff1a;计算机配置&#xff0d;&#xff1e;管理模板&#xff0d;&#xff1e;系统&#xff0d;&#xff1e;关闭自动播放&#xff0d;…

WCF配置文件全攻略

Code<?xml version"1.0" encoding"utf-8" ?><configuration> <system.ServiceModel> <!-- services 元素包含应用中驻留的所有service的配置要求 --> <services> <!-- 每个服务的…

图的算法专题——最小生成树

概要&#xff1a; Prim算法Kruskal算法1、Prim算法 算法流程&#xff1a; &#xff08;1&#xff09;对图G&#xff08;V,E&#xff09;设置集合S来存放已被并入的顶点&#xff0c;然后执行n次&#xff08;2&#xff09;&#xff08;3&#xff09; &#xff08;2&#xff09;每…

GridControl摘录

gvCabTotalInfo.Columns["出线平均<br>电压"].SummaryItem.SummaryType DevExpress.Data.SummaryItemType.Average; gvCabTotalInfo.Columns["出线平均<br>电压"].SummaryItem.DisplayFormat "平均:{0:N2}"; gvCabTotalInfo.Refre…

小程序将form表单数据写入云数据库

小程序将form表单数据写入云数据库 <!--pages/MyIncome/MyIncome.wxml--> <view classforms><form bindsubmitgetForm><view classgetform><view>用戶名:<input typetext nameusername placeholder請輸入用戶名/></view><view&g…

ASP.NET自定义控件组件开发 第四章 组合控件开发CompositeControl

第四章 组合控件开发CompositeControl 大家好&#xff0c;今天我们来实现一个自定义的控件&#xff0c;之前我们已经知道了&#xff0c;要开发自定义的控件一般继承三个基 类:Control,WebControl&#xff0c;还有一个就是今天要说的CompositeControl。系列文章链接:ASP.NET自…

[C++对象模型][6]sizeof与对象内存布局

有了前面几节的铺垫&#xff0c;本节开始摸索C的对象的内存布局&#xff0c;平台为windows32位VS2008。 一 内置类型的size 内置类型&#xff0c;直接上代码&#xff0c;帮助大家加深记忆&#xff1a; Codevoid TestBasicSizeOf() { cout << __FUNCTION__ << e…

Linux负载均衡实现

配置之前清空所有服务器防火墙规则iptables -F关闭selinux&#xff1a;1、/usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态SELinux status: enabled2、getenforce ##也可以用这个命令检查关闭SELinux&#xff1a;1…

【bzoj2770】YY的Treap 权值线段树

题目描述 志向远大的YY小朋友在学完快速排序之后决定学习平衡树&#xff0c;左思右想再加上SY的教唆&#xff0c;YY决定学习Treap。友爱教教父SY如砍瓜切菜般教会了YY小朋友Treap&#xff08;一种平衡树&#xff0c;通过对每个节点随机分配一个priority&#xff0c;同时保证这棵…