Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何创建大量表_Python_Sqlite_Tkinter - Fatal编程技术网

Python 如何创建大量表

Python 如何创建大量表,python,sqlite,tkinter,Python,Sqlite,Tkinter,我有一个大的数据集来创建一个存储系统来监控商店中的移动。那家商店有300多种产品,所有桌子的主要结构都是一样的。唯一的区别是里面的数据。有一个更大的数据库叫做StorageTF,我想创建很多表,叫做Product_1、Product_2、Product_3等等。。 表结构应该如下所示 主要的大型数据集(表)如下所示: CREATE TABLE StoringTF ( Store_code INTEGER, Store TEXT, Product_Date TEXT, Permission INT

我有一个大的数据集来创建一个存储系统来监控商店中的移动。那家商店有300多种产品,所有桌子的主要结构都是一样的。唯一的区别是里面的数据。有一个更大的数据库叫做StorageTF,我想创建很多表,叫做Product_1、Product_2、Product_3等等。。 表结构应该如下所示

主要的大型数据集(表)如下所示:

CREATE TABLE StoringTF (
Store_code INTEGER,
Store TEXT,
Product_Date TEXT,
Permission INTEGER,
Product_Code INTEGER,
Product_Name TEXT,
Incoming INTEGER,
Unit_Buying_Price INTEGER,
Total_Buying_Price INTEGER,
Outgoing INTEGER,
Unit_Sell_Price INTEGER,
Total_Sell_Price INTEGER,
Description TEXT)
我希望用户在名为PCode的条目中输入代码 看起来像这样

PCode = Entry(root, width=40)
PCode.grid(row=0,column=0)
然后,一个函数将输入与主表中的所有代码进行比较,并获取该代码,得到具有相同产品代码的表。 所以顺序是。将创建主表中所有产品_代码的所有产品表,并包含主表中具有相同产品_代码的所有数据。 然后,当程序打开时,用户输入产品代码 程序选择具有相同代码的表并将其显示给用户。 非常感谢,我知道这很难,但我真的需要你的帮助,我相信你能帮助我。谢谢

product表应该如下所示

创建表Product\u x(Product\u code整数,
Product_Name TEXT,--从具有相同产品代码的行的主表中获取
输入日期、文本、,
权限号为整数,
传入整数,
传出整数,
说明文字,
Total_Quantity_In_Store INTEGER,--这是主表的传入-传出
Total\u Value\u In\u Store INTEGER--主表的Total\u Building\u price-Total\u sell\u price
)
谢谢你的帮助,希望你能找到答案,因为我真的很挣扎。

从你的评论中:

我想我应该从主表中选择一些列,但我不知道如何使用product code=PCode.get()“这是输入框”的主表中的select列更新仅有的一些列。那有可能吗

是的,当然可以只向用户显示特定的数据行和数据列

但是,您可以遵循许多模式(即编程技术)向用户呈现数据,但每种常见的最佳实践技术都会将后端数据(即数据库)与用户界面分离。不必将数据的表示限制为一次只显示一个完整的表。在大多数情况下,数据不应完全按照表中的显示方式呈现和/或公开给用户。当然,有时数据非常简单和直接,可以做到这一点,但大多数应用程序在不同的视图中重新格式化和分组数据,以便正确显示。(这里的术语视图是一个非常通用的抽象术语,用于以不同的方式表示数据的存储方式。我在下面提到特定的sqlite视图。)

现代数据库背后的整个理念是高效、设计良好的存储,可以查询这些存储,以返回适合每个应用程序的数据。这种功能大部分基于主机语言数据模型,但sqlite直接支持有助于实现这一点的功能。例如,可以将视图定义为一次仅选择某些列和行(即选择某些生成代码值)。sqlite视图只是保存的SQL查询,可以为其定义某些属性和操作。默认情况下,触发器是只读的,但可以定义触发器,以允许通过视图更新基础表

根据我之前的评论:您应该研究数据规范化。这是设计关系数据库的关键原则。例如,您应该避免重复的数据列,如
Product\u Name
。该列应仅位于StoringTF中。计算列通常也是多余和不必要的——不要将
总值\u存储在\u store
列中,而是在查询和/或视图需要时进行计算。拥有重复的列会导致数据不匹配,或者至少会引起不必要的注意,以确保在更新列时同步所有列。相反,您可以只查询联接表以获取相关值


老实说,在正确实施这些概念之前,需要进行大量的研究。无论如何,继续开发一个适合您需要的解决方案,但是堆栈溢出答案对于我认为您可能需要的完整教程来说是不合适的。实际上,你的问题似乎更多的是关于整体设计,我认为我的回答可以让你走上正确的轨道。如果有更具体的问题,您需要稍后再问其他问题

你想要每种产品一张桌子吗?不要那样做。一个表代表所有数据是一种更好的方法。您说“唯一的区别是内部的数据”,但您是指数据值还是数据模式不同?是否所有产品表都与您显示的产品表具有相同的模式?如果是,那么表已经有了产品代码。这意味着您只有一个表,只需为每个产品输入具有唯一产品代码的多行即可。一个表不仅是一种更好的方法,而且是唯一可以让您充分利用SQL特性和外键关系等的方法。您应该研究数据规范化。这是设计关系数据库的关键原则。例如,您应该避免重复的数据列,如
Product\u Name
。该列应仅位于
StoringTF
中。计算列通常也是多余和不必要的——不要将
总值\u存储在\u store
列中,而是在查询和/或视图需要时进行计算。拥有重复的列会导致数据不匹配,或者至少会引起不必要的注意,以确保在更新列时同步所有列。相反,您可以只查询联接表以获取相关值。区别在于数据值和模式是一致的。我想要一个普通的非程序员用户使用它