如何为不具有相同属性的产品创建数据库;例如,最好有一个产品表:
speed = []
pos = []
while True:
try:
print("Enter cow speed and then position: ")
a = int(input("Enter position: "))
b = int(input("Enter speed: "))
pos.append(a)
speed.append(b)
print("Do you want another cow? ")
c = input("Enter 'no' to stop or any other string to have another cow: ")
if c == 'no':
break
else:
continue
except ValueError:
print("Please enter 1 number only.")
continue
newP = []
newS = []
while pos:
mini = pos[0] # arbitrary number in list
for x in pos:
if x < mini:
mini = x
r = pos.index(mini)
newS.append(speed.pop(r))
newP.append(mini)
pos.remove(mini)
newS = newS[::-1]
groups = 1
k = 1
for i in range(len(newS)):
if newS[i] <= newS[k]:
newS[k] = newS[i]
k += 1
else:
k += 1
groups += 1
print(groups)
或单独的表: 汽车
id|category|Description |Mileage|Author_name |Print_length|Language|
1 |cars |honda cvic ...|12315 | | | |
2 |books |Stranger's... | |Albert Camus|208 page |English |
书籍:
id|brand|Description |Mileage|Body Type|yeasr|
1 |Honda|honda cvic ...|12315 |sedan |2015 |
请告知。
答案 0 :(得分:1)
您定义的任何一种方法都可以,是的。但是随着您网站的扩展和增长,您可能会遇到问题。
您建议的第一种方法存在一些问题。
您的第二种方法有助于解决上述两个问题,但会引入值得考虑的新问题。
解决方案:
正如另一位海报建议的那样,从两个简单的表开始-一个“产品”表(ID,名称)和一个“属性”表(ID,ProductID,名称,值),将解决很多复杂性并考虑到无需修改基础表结构即可发布新产品,这是一个巨大的胜利。这种方法将需要使用索引来优化性能,但是由于将仅使用两个表,因此您可以更好地集中精力。